expect_json/
expect_json_eq.rs1use 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}