@@ -33,18 +33,31 @@ public void Term()
33
33
}
34
34
}
35
35
36
+ /// <summary>
37
+ /// Creates a GameObject.
38
+ /// Adds the object to the list of objects to be deleted
39
+ /// on TearDown.
40
+ /// </summary>
41
+ /// <returns>The game object.</returns>
42
+ /// <param name="name">Name.</param>
43
+ /// <param name="parent">Parent.</param>
44
+ /// <param name="type">Primitive Type.</param>
45
+ private GameObject CreateGameObject ( string name , Transform parent = null , PrimitiveType type = PrimitiveType . Cube )
46
+ {
47
+ var go = GameObject . CreatePrimitive ( type ) ;
48
+ go . name = name ;
49
+ go . transform . SetParent ( parent ) ;
50
+ m_createdObjects . Add ( go ) ;
51
+ return go ;
52
+ }
36
53
37
54
[ Test ]
38
55
public void TestFindCenter ( )
39
56
{
40
57
// Create 3 objects
41
- var cube = GameObject . CreatePrimitive ( PrimitiveType . Cube ) ;
42
- var cube1 = GameObject . CreatePrimitive ( PrimitiveType . Cube ) ;
43
- var cube2 = GameObject . CreatePrimitive ( PrimitiveType . Cube ) ;
44
-
45
- m_createdObjects . Add ( cube ) ;
46
- m_createdObjects . Add ( cube1 ) ;
47
- m_createdObjects . Add ( cube2 ) ;
58
+ var cube = CreateGameObject ( "cube" ) ;
59
+ var cube1 = CreateGameObject ( "cube1" ) ;
60
+ var cube2 = CreateGameObject ( "cube2" ) ;
48
61
49
62
// Set their transforms
50
63
cube . transform . localPosition = new Vector3 ( 23 , - 5 , 10 ) ;
@@ -59,5 +72,62 @@ public void TestFindCenter ()
59
72
// Check that it is what we expect
60
73
Assert . AreEqual ( center , new Vector3 ( 26 , - 2.5f , 6.75f ) ) ;
61
74
}
75
+
76
+ [ Test ]
77
+ public void TestRemoveRedundantObjects ( )
78
+ {
79
+ var root = CreateGameObject ( "root" ) ;
80
+ var child1 = CreateGameObject ( "child1" , root . transform ) ;
81
+ var child2 = CreateGameObject ( "child2" , root . transform ) ;
82
+ var root2 = CreateGameObject ( "root2" ) ;
83
+
84
+ // test set: root
85
+ // expected result: root
86
+ var result = FbxExporters . Editor . ModelExporter . RemoveRedundantObjects ( new Object [ ] { root } ) ;
87
+ Assert . AreEqual ( 1 , result . Count ) ;
88
+ Assert . IsTrue ( result . Contains ( root ) ) ;
89
+
90
+ // test set: root, child1
91
+ // expected result: root
92
+ result = FbxExporters . Editor . ModelExporter . RemoveRedundantObjects ( new Object [ ] { root , child1 } ) ;
93
+ Assert . AreEqual ( 1 , result . Count ) ;
94
+ Assert . IsTrue ( result . Contains ( root ) ) ;
95
+
96
+ // test set: root, child1, child2, root2
97
+ // expected result: root, root2
98
+ result = FbxExporters . Editor . ModelExporter . RemoveRedundantObjects ( new Object [ ] { root , root2 , child2 , child1 } ) ;
99
+ Assert . AreEqual ( 2 , result . Count ) ;
100
+ Assert . IsTrue ( result . Contains ( root ) ) ;
101
+ Assert . IsTrue ( result . Contains ( root2 ) ) ;
102
+
103
+ // test set: child1, child2
104
+ // expected result: child1, child2
105
+ result = FbxExporters . Editor . ModelExporter . RemoveRedundantObjects ( new Object [ ] { child2 , child1 } ) ;
106
+ Assert . AreEqual ( 2 , result . Count ) ;
107
+ Assert . IsTrue ( result . Contains ( child1 ) ) ;
108
+ Assert . IsTrue ( result . Contains ( child2 ) ) ;
109
+ }
110
+
111
+ [ Test ]
112
+ public void TestConvertToValidFilename ( )
113
+ {
114
+ // test already valid filenames
115
+ var filename = "foobar.fbx" ;
116
+ var result = FbxExporters . Editor . ModelExporter . ConvertToValidFilename ( filename ) ;
117
+ Assert . AreEqual ( filename , result ) ;
118
+
119
+ filename = "foo_bar 1.fbx" ;
120
+ result = FbxExporters . Editor . ModelExporter . ConvertToValidFilename ( filename ) ;
121
+ Assert . AreEqual ( filename , result ) ;
122
+
123
+ // test invalid filenames
124
+ filename = "?foo**bar///.fbx" ;
125
+ result = FbxExporters . Editor . ModelExporter . ConvertToValidFilename ( filename ) ;
126
+ Assert . AreEqual ( "_foo__bar___.fbx" , result ) ;
127
+
128
+ filename = "foo$?ba%r 2.fbx" ;
129
+ result = FbxExporters . Editor . ModelExporter . ConvertToValidFilename ( filename ) ;
130
+ Assert . AreEqual ( "foo$_ba%r 2.fbx" , result ) ;
131
+ }
62
132
}
63
133
}
0 commit comments