expect_json/
expect_json_eq.rs

1use crate::internals::json_eq;
2use crate::internals::Context;
3use crate::ExpectJsonEqError;
4use crate::ExpectJsonEqResult;
5use serde::Serialize;
6
7pub fn expect_json_eq<R, E>(received_raw: &R, expected_raw: &E) -> ExpectJsonEqResult<()>
8where
9    R: Serialize,
10    E: Serialize,
11{
12    let received =
13        serde_json::to_value(received_raw).map_err(ExpectJsonEqError::FailedToSerialiseOther)?;
14    let expected =
15        serde_json::to_value(expected_raw).map_err(ExpectJsonEqError::FailedToSerialiseExpected)?;
16
17    let mut context = Context::new();
18    json_eq(&mut context, &received, &expected)?;
19
20    Ok(())
21}