@@ -190,91 +190,53 @@ mod tests {
190
190
) ;
191
191
}
192
192
193
- const MINUS_ONE_MSGPACK : & [ u8 ] = & [ 0xFF ] ;
194
- const ONE_MSGPACK : & [ u8 ] = & [ 0x01 ] ;
195
-
196
193
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) ,+$( , ) ?) => {
261
195
$(
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
+ }
263
223
) +
264
224
} ;
265
225
}
266
226
267
227
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 ,
279
241
}
280
242
}
0 commit comments