openrtb_native1/
event_tracking_method.rs1#[derive(Debug, PartialEq, Eq, Clone, Copy)]
3pub enum EventTrackingMethod {
4 Img,
7 Js,
10 ExchangeSpecific(i32),
13}
14
15crate::impl_enum_serde!(
16 #[exchange(ident = ExchangeSpecific, greater = 500)]
17 EventTrackingMethod {
18 Img = 1,
19 Js = 2,
20 }
21);
22
23#[cfg(test)]
24mod test {
25 use super::*;
26
27 #[test]
28 fn json() -> serde_json::Result<()> {
29 assert!(serde_json::from_str::<EventTrackingMethod>("0").is_err());
30 assert!(serde_json::from_str::<EventTrackingMethod>("500").is_err());
31
32 let json = "[1,2,501]";
33 let e1: Vec<EventTrackingMethod> = serde_json::from_str(json)?;
34 assert_eq!(serde_json::to_string(&e1)?, json);
35 assert_eq!(
36 e1,
37 vec![
38 EventTrackingMethod::Img,
39 EventTrackingMethod::Js,
40 EventTrackingMethod::ExchangeSpecific(501),
41 ]
42 );
43
44 Ok(())
45 }
46}