expect_json/expects/
serialize_expect_op.rs1use crate::expects::ops::ArrayContains;
2use crate::expects::ops::ArrayContainsNot;
3use crate::expects::ops::StringContains;
4use crate::expects::ops::StringContainsNot;
5use crate::internals::Context;
6use crate::internals::JsonExpectOp;
7use crate::internals::JsonValueEqResult;
8use serde::Deserialize;
9use serde::Serialize;
10use serde_json::Value;
11use strum::IntoStaticStr;
12
13#[derive(Clone, Debug, Serialize, Deserialize, IntoStaticStr, PartialEq)]
14#[serde(tag = "type")]
15pub enum SerializeExpectOp {
16 ArrayContains(ArrayContains),
17 ArrayContainsNot(ArrayContainsNot),
18 StringContains(StringContains),
19 StringContainsNot(StringContainsNot),
20}
21
22impl SerializeExpectOp {
23 pub fn on_any<'a>(
24 self,
25 context: &mut Context<'a>,
26 received: &'a Value,
27 ) -> JsonValueEqResult<()> {
28 match self {
29 Self::ArrayContains(inner) => inner.on_any(context, received),
30 Self::ArrayContainsNot(inner) => inner.on_any(context, received),
31 Self::StringContains(inner) => inner.on_any(context, received),
32 Self::StringContainsNot(inner) => inner.on_any(context, received),
33 }
34 }
35}