@@ -182,5 +182,39 @@ public void SkinnedMeshTest()
182
182
// In the future we'll want to assert the opposite!
183
183
Assert . That ( cubeInstance . GetComponentsInChildren < SkinnedMeshRenderer > ( ) , Is . Empty ) ;
184
184
}
185
+
186
+ [ Test ]
187
+ public void MapNameToSourceTest ( )
188
+ {
189
+ //Create a cube with 3 children game objects
190
+ var cube = GameObject . CreatePrimitive ( PrimitiveType . Cube ) ;
191
+ var capsule = GameObject . CreatePrimitive ( PrimitiveType . Capsule ) ;
192
+ var sphere = GameObject . CreatePrimitive ( PrimitiveType . Sphere ) ;
193
+ var quad = GameObject . CreatePrimitive ( PrimitiveType . Quad ) ;
194
+
195
+ capsule . transform . parent = cube . transform ;
196
+ sphere . transform . parent = cube . transform ;
197
+ quad . transform . parent = cube . transform ;
198
+
199
+
200
+ //Create a similar Heirarchy that we can use as our phony "exported" hierarchy.
201
+ var cube2 = GameObject . CreatePrimitive ( PrimitiveType . Cube ) ;
202
+ var capsule2 = GameObject . CreatePrimitive ( PrimitiveType . Capsule ) ;
203
+ var sphere2 = GameObject . CreatePrimitive ( PrimitiveType . Sphere ) ;
204
+ var quad2 = GameObject . CreatePrimitive ( PrimitiveType . Quad ) ;
205
+
206
+ capsule2 . transform . parent = cube2 . transform ;
207
+ sphere2 . transform . parent = cube2 . transform ;
208
+ quad2 . transform . parent = cube2 . transform ;
209
+
210
+ var dictionary = ConvertToModel . MapNameToSourceRecursive ( cube , cube2 ) ;
211
+
212
+ //We expect these to pass because we've given it an identical game object, as it would have after a normal export.
213
+ Assert . AreEqual ( capsule . name , dictionary [ capsule . name ] . name ) ;
214
+ Assert . AreEqual ( sphere . name , dictionary [ sphere . name ] . name ) ;
215
+ Assert . AreEqual ( quad . name , dictionary [ quad . name ] . name ) ;
216
+
217
+ Assert . AreNotSame ( cube . GetInstanceID ( ) , cube2 . GetInstanceID ( ) ) ;
218
+ }
185
219
}
186
220
}
0 commit comments