Skip to content

Commit 6cbf188

Browse files
committed
Only use proptests
1 parent 3ccdb76 commit 6cbf188

File tree

1 file changed

+41
-79
lines changed

1 file changed

+41
-79
lines changed

packages/std/src/serde.rs

Lines changed: 41 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -190,91 +190,53 @@ mod tests {
190190
);
191191
}
192192

193-
const MINUS_ONE_MSGPACK: &[u8] = &[0xFF];
194-
const ONE_MSGPACK: &[u8] = &[0x01];
195-
196193
macro_rules! test_integer {
197-
(signed $ty:ty) => {
198-
::paste::paste! {
199-
#[test]
200-
fn [<test_ $ty:snake:lower _encoding>]() {
201-
let minus_one = $ty::new(-1).unwrap();
202-
let one = $ty::new(1).unwrap();
203-
204-
let serialized = to_json_string(&minus_one).unwrap();
205-
assert_eq!(serialized, "-1");
206-
207-
let serialized = to_json_string(&one).unwrap();
208-
assert_eq!(serialized, "1");
209-
210-
let deserialized: $ty = from_json("-1").unwrap();
211-
assert_eq!(deserialized, minus_one);
212-
213-
let deserialized: $ty = from_json("1").unwrap();
214-
assert_eq!(deserialized, one);
215-
216-
assert!(from_json::<$ty>("0").is_err());
217-
218-
let serialized = to_msgpack_vec(&one).unwrap();
219-
assert_eq!(serialized, ONE_MSGPACK);
220-
221-
let serialized = to_msgpack_vec(&minus_one).unwrap();
222-
assert_eq!(serialized, MINUS_ONE_MSGPACK);
223-
224-
let deserialized: $ty = from_msgpack(ONE_MSGPACK).unwrap();
225-
assert_eq!(deserialized, one);
226-
}
227-
}
228-
};
229-
230-
(unsigned $ty:ty) => {
231-
::paste::paste! {
232-
#[property_test]
233-
fn [<test_ $ty:snake:lower _encoding>](input: $ty) {
234-
let primitive = input.get();
235-
236-
// Verify that the serialization is the same as the primitive
237-
let serialized = to_json_string(&input).unwrap();
238-
let serialized_primitive = to_json_string(&primitive).unwrap();
239-
prop_assert_eq!(serialized.as_str(), serialized_primitive.as_str());
240-
241-
// Verify that the serialized primitive can be deserialized
242-
let deserialized: $ty = from_json(serialized_primitive).unwrap();
243-
assert_eq!(deserialized, input);
244-
245-
// Verify that zero is not allowed
246-
assert!(from_json::<$ty>("0").is_err());
247-
248-
// Verify that the msgpack encoding is the same as the primitive
249-
let serialized = to_msgpack_vec(&input).unwrap();
250-
let serialized_primitive = to_msgpack_vec(&primitive).unwrap();
251-
prop_assert_eq!(serialized.as_slice(), serialized_primitive.as_slice());
252-
253-
// Verify that the serialized primitive can be deserialized
254-
let deserialized: $ty = from_msgpack(&serialized_primitive).unwrap();
255-
prop_assert_eq!(deserialized, input);
256-
}
257-
}
258-
};
259-
260-
($($disc:ident $ty:ty),+$(,)?) => {
194+
($($ty:ty),+$(,)?) => {
261195
$(
262-
test_integer!($disc $ty);
196+
::paste::paste! {
197+
#[property_test]
198+
fn [<test_ $ty:snake:lower _encoding>](input: $ty) {
199+
let primitive = input.get();
200+
201+
// Verify that the serialization is the same as the primitive
202+
let serialized = to_json_string(&input).unwrap();
203+
let serialized_primitive = to_json_string(&primitive).unwrap();
204+
prop_assert_eq!(serialized.as_str(), serialized_primitive.as_str());
205+
206+
// Verify that the serialized primitive can be deserialized
207+
let deserialized: $ty = from_json(serialized_primitive).unwrap();
208+
assert_eq!(deserialized, input);
209+
210+
// Verify that zero is not allowed
211+
assert!(from_json::<$ty>("0").is_err());
212+
213+
// Verify that the msgpack encoding is the same as the primitive
214+
let serialized = to_msgpack_vec(&input).unwrap();
215+
let serialized_primitive = to_msgpack_vec(&primitive).unwrap();
216+
prop_assert_eq!(serialized.as_slice(), serialized_primitive.as_slice());
217+
218+
// Verify that the serialized primitive can be deserialized
219+
let deserialized: $ty = from_msgpack(&serialized_primitive).unwrap();
220+
prop_assert_eq!(deserialized, input);
221+
}
222+
}
263223
)+
264224
};
265225
}
266226

267227
test_integer! {
268-
unsigned NonZeroU8,
269-
unsigned NonZeroU16,
270-
unsigned NonZeroU32,
271-
unsigned NonZeroU64,
272-
unsigned NonZeroU128,
273-
274-
signed NonZeroI8,
275-
signed NonZeroI16,
276-
signed NonZeroI32,
277-
signed NonZeroI64,
278-
signed NonZeroI128,
228+
NonZeroU8,
229+
NonZeroU16,
230+
NonZeroU32,
231+
NonZeroU64,
232+
NonZeroU128,
233+
}
234+
235+
test_integer! {
236+
NonZeroI8,
237+
NonZeroI16,
238+
NonZeroI32,
239+
NonZeroI64,
240+
NonZeroI128,
279241
}
280242
}

0 commit comments

Comments
 (0)