bevy_reflect: Update serde tests for Set (#14616)
				
					
				
			# Objective Support for reflecting set-like types (e.g. `HashSet`) was added in #13014. However, we didn't add any serialization tests to verify that serialization works as expected. ## Solution Update the serde tests. ## Testing You can test locally by running: ``` cargo test --package bevy_reflect ```
This commit is contained in:
		
							parent
							
								
									70a18d26e2
								
							
						
					
					
						commit
						0caeaa2ca9
					
				| @ -1220,7 +1220,7 @@ mod tests { | ||||
|     use serde::de::DeserializeSeed; | ||||
|     use serde::Deserialize; | ||||
| 
 | ||||
|     use bevy_utils::HashMap; | ||||
|     use bevy_utils::{HashMap, HashSet}; | ||||
| 
 | ||||
|     use crate as bevy_reflect; | ||||
|     use crate::serde::{ReflectDeserializer, ReflectSerializer, TypedReflectDeserializer}; | ||||
| @ -1235,6 +1235,7 @@ mod tests { | ||||
|         list_value: Vec<i32>, | ||||
|         array_value: [i32; 5], | ||||
|         map_value: HashMap<u8, usize>, | ||||
|         set_value: HashSet<u8>, | ||||
|         struct_value: SomeStruct, | ||||
|         tuple_struct_value: SomeTupleStruct, | ||||
|         unit_struct: SomeUnitStruct, | ||||
| @ -1325,6 +1326,7 @@ mod tests { | ||||
|         registry.register::<[i32; 5]>(); | ||||
|         registry.register::<Vec<i32>>(); | ||||
|         registry.register::<HashMap<u8, usize>>(); | ||||
|         registry.register::<HashSet<u8>>(); | ||||
|         registry.register::<Option<SomeStruct>>(); | ||||
|         registry.register::<Option<String>>(); | ||||
|         registry.register_type_data::<Option<String>, ReflectDeserialize>(); | ||||
| @ -1335,6 +1337,9 @@ mod tests { | ||||
|         let mut map = HashMap::new(); | ||||
|         map.insert(64, 32); | ||||
| 
 | ||||
|         let mut set = HashSet::new(); | ||||
|         set.insert(64); | ||||
| 
 | ||||
|         MyStruct { | ||||
|             primitive_value: 123, | ||||
|             option_value: Some(String::from("Hello world!")), | ||||
| @ -1343,6 +1348,7 @@ mod tests { | ||||
|             list_value: vec![-2, -1, 0, 1, 2], | ||||
|             array_value: [-2, -1, 0, 1, 2], | ||||
|             map_value: map, | ||||
|             set_value: set, | ||||
|             struct_value: SomeStruct { foo: 999999999 }, | ||||
|             tuple_struct_value: SomeTupleStruct(String::from("Tuple Struct")), | ||||
|             unit_struct: SomeUnitStruct, | ||||
| @ -1389,6 +1395,9 @@ mod tests { | ||||
|                 map_value: { | ||||
|                     64: 32, | ||||
|                 }, | ||||
|                 set_value: [ | ||||
|                     64, | ||||
|                 ], | ||||
|                 struct_value: ( | ||||
|                     foo: 999999999, | ||||
|                 ), | ||||
| @ -1626,12 +1635,12 @@ mod tests { | ||||
|             0, 0, 219, 15, 73, 64, 57, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 254, 255, 255, | ||||
|             255, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 254, 255, 255, 255, 255, | ||||
|             255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 32, 0, | ||||
|             0, 0, 0, 0, 0, 0, 255, 201, 154, 59, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 84, 117, 112, | ||||
|             108, 101, 32, 83, 116, 114, 117, 99, 116, 0, 0, 0, 0, 1, 0, 0, 0, 123, 0, 0, 0, 0, 0, | ||||
|             0, 0, 2, 0, 0, 0, 164, 112, 157, 63, 164, 112, 77, 64, 3, 0, 0, 0, 20, 0, 0, 0, 0, 0, | ||||
|             0, 0, 83, 116, 114, 117, 99, 116, 32, 118, 97, 114, 105, 97, 110, 116, 32, 118, 97, | ||||
|             108, 117, 101, 1, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, | ||||
|             0, | ||||
|             0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 255, 201, 154, 59, 0, 0, 0, 0, 12, 0, 0, | ||||
|             0, 0, 0, 0, 0, 84, 117, 112, 108, 101, 32, 83, 116, 114, 117, 99, 116, 0, 0, 0, 0, 1, | ||||
|             0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 164, 112, 157, 63, 164, 112, 77, 64, 3, | ||||
|             0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 83, 116, 114, 117, 99, 116, 32, 118, 97, 114, 105, | ||||
|             97, 110, 116, 32, 118, 97, 108, 117, 101, 1, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, | ||||
|             0, 0, 101, 0, 0, 0, 0, 0, 0, 0, | ||||
|         ]; | ||||
| 
 | ||||
|         let deserializer = ReflectDeserializer::new(®istry); | ||||
| @ -1653,15 +1662,15 @@ mod tests { | ||||
|         let input = vec![ | ||||
|             129, 217, 40, 98, 101, 118, 121, 95, 114, 101, 102, 108, 101, 99, 116, 58, 58, 115, | ||||
|             101, 114, 100, 101, 58, 58, 100, 101, 58, 58, 116, 101, 115, 116, 115, 58, 58, 77, 121, | ||||
|             83, 116, 114, 117, 99, 116, 220, 0, 19, 123, 172, 72, 101, 108, 108, 111, 32, 119, 111, | ||||
|             83, 116, 114, 117, 99, 116, 220, 0, 20, 123, 172, 72, 101, 108, 108, 111, 32, 119, 111, | ||||
|             114, 108, 100, 33, 145, 123, 146, 202, 64, 73, 15, 219, 205, 5, 57, 149, 254, 255, 0, | ||||
|             1, 2, 149, 254, 255, 0, 1, 2, 129, 64, 32, 145, 206, 59, 154, 201, 255, 145, 172, 84, | ||||
|             117, 112, 108, 101, 32, 83, 116, 114, 117, 99, 116, 144, 164, 85, 110, 105, 116, 129, | ||||
|             167, 78, 101, 119, 84, 121, 112, 101, 123, 129, 165, 84, 117, 112, 108, 101, 146, 202, | ||||
|             63, 157, 112, 164, 202, 64, 77, 112, 164, 129, 166, 83, 116, 114, 117, 99, 116, 145, | ||||
|             180, 83, 116, 114, 117, 99, 116, 32, 118, 97, 114, 105, 97, 110, 116, 32, 118, 97, 108, | ||||
|             117, 101, 144, 144, 129, 166, 83, 116, 114, 117, 99, 116, 144, 129, 165, 84, 117, 112, | ||||
|             108, 101, 144, 146, 100, 145, 101, | ||||
|             1, 2, 149, 254, 255, 0, 1, 2, 129, 64, 32, 145, 64, 145, 206, 59, 154, 201, 255, 145, | ||||
|             172, 84, 117, 112, 108, 101, 32, 83, 116, 114, 117, 99, 116, 144, 164, 85, 110, 105, | ||||
|             116, 129, 167, 78, 101, 119, 84, 121, 112, 101, 123, 129, 165, 84, 117, 112, 108, 101, | ||||
|             146, 202, 63, 157, 112, 164, 202, 64, 77, 112, 164, 129, 166, 83, 116, 114, 117, 99, | ||||
|             116, 145, 180, 83, 116, 114, 117, 99, 116, 32, 118, 97, 114, 105, 97, 110, 116, 32, | ||||
|             118, 97, 108, 117, 101, 144, 144, 129, 166, 83, 116, 114, 117, 99, 116, 144, 129, 165, | ||||
|             84, 117, 112, 108, 101, 144, 146, 100, 145, 101, | ||||
|         ]; | ||||
| 
 | ||||
|         let mut reader = std::io::BufReader::new(input.as_slice()); | ||||
|  | ||||
| @ -567,7 +567,7 @@ mod tests { | ||||
|     use crate::serde::ReflectSerializer; | ||||
|     use crate::{self as bevy_reflect, Struct}; | ||||
|     use crate::{Reflect, ReflectSerialize, TypeRegistry}; | ||||
|     use bevy_utils::HashMap; | ||||
|     use bevy_utils::{HashMap, HashSet}; | ||||
|     use ron::extensions::Extensions; | ||||
|     use ron::ser::PrettyConfig; | ||||
|     use serde::Serialize; | ||||
| @ -583,6 +583,7 @@ mod tests { | ||||
|         list_value: Vec<i32>, | ||||
|         array_value: [i32; 5], | ||||
|         map_value: HashMap<u8, usize>, | ||||
|         set_value: HashSet<u8>, | ||||
|         struct_value: SomeStruct, | ||||
|         tuple_struct_value: SomeTupleStruct, | ||||
|         unit_struct: SomeUnitStruct, | ||||
| @ -672,6 +673,10 @@ mod tests { | ||||
|     fn get_my_struct() -> MyStruct { | ||||
|         let mut map = HashMap::new(); | ||||
|         map.insert(64, 32); | ||||
| 
 | ||||
|         let mut set = HashSet::new(); | ||||
|         set.insert(64); | ||||
| 
 | ||||
|         MyStruct { | ||||
|             primitive_value: 123, | ||||
|             option_value: Some(String::from("Hello world!")), | ||||
| @ -680,6 +685,7 @@ mod tests { | ||||
|             list_value: vec![-2, -1, 0, 1, 2], | ||||
|             array_value: [-2, -1, 0, 1, 2], | ||||
|             map_value: map, | ||||
|             set_value: set, | ||||
|             struct_value: SomeStruct { foo: 999999999 }, | ||||
|             tuple_struct_value: SomeTupleStruct(String::from("Tuple Struct")), | ||||
|             unit_struct: SomeUnitStruct, | ||||
| @ -733,6 +739,9 @@ mod tests { | ||||
|         map_value: { | ||||
|             64: 32, | ||||
|         }, | ||||
|         set_value: [ | ||||
|             64, | ||||
|         ], | ||||
|         struct_value: ( | ||||
|             foo: 999999999, | ||||
|         ), | ||||
| @ -888,12 +897,12 @@ mod tests { | ||||
|             0, 0, 0, 0, 219, 15, 73, 64, 57, 5, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 254, 255, | ||||
|             255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 254, 255, 255, 255, | ||||
|             255, 255, 255, 255, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 32, | ||||
|             0, 0, 0, 0, 0, 0, 0, 255, 201, 154, 59, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 84, 117, | ||||
|             112, 108, 101, 32, 83, 116, 114, 117, 99, 116, 0, 0, 0, 0, 1, 0, 0, 0, 123, 0, 0, 0, 0, | ||||
|             0, 0, 0, 2, 0, 0, 0, 164, 112, 157, 63, 164, 112, 77, 64, 3, 0, 0, 0, 20, 0, 0, 0, 0, | ||||
|             0, 0, 0, 83, 116, 114, 117, 99, 116, 32, 118, 97, 114, 105, 97, 110, 116, 32, 118, 97, | ||||
|             108, 117, 101, 1, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, 0, | ||||
|             0, | ||||
|             0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 255, 201, 154, 59, 0, 0, 0, 0, 12, 0, | ||||
|             0, 0, 0, 0, 0, 0, 84, 117, 112, 108, 101, 32, 83, 116, 114, 117, 99, 116, 0, 0, 0, 0, | ||||
|             1, 0, 0, 0, 123, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 164, 112, 157, 63, 164, 112, 77, 64, | ||||
|             3, 0, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 83, 116, 114, 117, 99, 116, 32, 118, 97, 114, 105, | ||||
|             97, 110, 116, 32, 118, 97, 108, 117, 101, 1, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, | ||||
|             0, 0, 101, 0, 0, 0, 0, 0, 0, 0, | ||||
|         ]; | ||||
| 
 | ||||
|         assert_eq!(expected, bytes); | ||||
| @ -910,15 +919,15 @@ mod tests { | ||||
|         let expected: Vec<u8> = vec![ | ||||
|             129, 217, 41, 98, 101, 118, 121, 95, 114, 101, 102, 108, 101, 99, 116, 58, 58, 115, | ||||
|             101, 114, 100, 101, 58, 58, 115, 101, 114, 58, 58, 116, 101, 115, 116, 115, 58, 58, 77, | ||||
|             121, 83, 116, 114, 117, 99, 116, 220, 0, 19, 123, 172, 72, 101, 108, 108, 111, 32, 119, | ||||
|             121, 83, 116, 114, 117, 99, 116, 220, 0, 20, 123, 172, 72, 101, 108, 108, 111, 32, 119, | ||||
|             111, 114, 108, 100, 33, 145, 123, 146, 202, 64, 73, 15, 219, 205, 5, 57, 149, 254, 255, | ||||
|             0, 1, 2, 149, 254, 255, 0, 1, 2, 129, 64, 32, 145, 206, 59, 154, 201, 255, 145, 172, | ||||
|             84, 117, 112, 108, 101, 32, 83, 116, 114, 117, 99, 116, 144, 164, 85, 110, 105, 116, | ||||
|             129, 167, 78, 101, 119, 84, 121, 112, 101, 123, 129, 165, 84, 117, 112, 108, 101, 146, | ||||
|             202, 63, 157, 112, 164, 202, 64, 77, 112, 164, 129, 166, 83, 116, 114, 117, 99, 116, | ||||
|             145, 180, 83, 116, 114, 117, 99, 116, 32, 118, 97, 114, 105, 97, 110, 116, 32, 118, 97, | ||||
|             108, 117, 101, 144, 144, 129, 166, 83, 116, 114, 117, 99, 116, 144, 129, 165, 84, 117, | ||||
|             112, 108, 101, 144, 146, 100, 145, 101, | ||||
|             0, 1, 2, 149, 254, 255, 0, 1, 2, 129, 64, 32, 145, 64, 145, 206, 59, 154, 201, 255, | ||||
|             145, 172, 84, 117, 112, 108, 101, 32, 83, 116, 114, 117, 99, 116, 144, 164, 85, 110, | ||||
|             105, 116, 129, 167, 78, 101, 119, 84, 121, 112, 101, 123, 129, 165, 84, 117, 112, 108, | ||||
|             101, 146, 202, 63, 157, 112, 164, 202, 64, 77, 112, 164, 129, 166, 83, 116, 114, 117, | ||||
|             99, 116, 145, 180, 83, 116, 114, 117, 99, 116, 32, 118, 97, 114, 105, 97, 110, 116, 32, | ||||
|             118, 97, 108, 117, 101, 144, 144, 129, 166, 83, 116, 114, 117, 99, 116, 144, 129, 165, | ||||
|             84, 117, 112, 108, 101, 144, 146, 100, 145, 101, | ||||
|         ]; | ||||
| 
 | ||||
|         assert_eq!(expected, bytes); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Gino Valente
						Gino Valente