Skip to content

Commit ece220d

Browse files
committed
TestCloneMesh: test the other 8 classes as well
1 parent 21be3f0 commit ece220d

File tree

1 file changed

+169
-6
lines changed

1 file changed

+169
-6
lines changed

jme3-core/src/test/java/com/jme3/scene/debug/TestCloneMesh.java

Lines changed: 169 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,15 @@
3131
*/
3232
package com.jme3.scene.debug;
3333

34+
import com.jme3.animation.Bone;
35+
import com.jme3.animation.Skeleton;
3436
import com.jme3.asset.AssetManager;
3537
import com.jme3.asset.DesktopAssetManager;
3638
import com.jme3.export.binary.BinaryExporter;
3739
import com.jme3.math.Vector3f;
3840
import com.jme3.util.clone.Cloner;
41+
import java.util.HashMap;
42+
import java.util.Map;
3943
import org.junit.Assert;
4044
import org.junit.Test;
4145

@@ -46,14 +50,172 @@
4650
*/
4751
public class TestCloneMesh {
4852
// *************************************************************************
49-
// fields
53+
// new methods exposed
5054

5155
/**
52-
* AssetManager required by the BinaryImporter
56+
* Test cloning/saving/loading an Arrow.
5357
*/
54-
final private static AssetManager assetManager = new DesktopAssetManager();
55-
// *************************************************************************
56-
// new methods exposed
58+
@Test
59+
public void testCloneArrow() {
60+
Arrow arrow = new Arrow(new Vector3f(1f, 1f, 1f));
61+
62+
Arrow deepClone = Cloner.deepClone(arrow);
63+
Assert.assertNotNull(deepClone);
64+
Assert.assertNotEquals(deepClone, arrow);
65+
66+
AssetManager assetManager = new DesktopAssetManager();
67+
Arrow saveAndLoad = BinaryExporter.saveAndLoad(assetManager, arrow);
68+
Assert.assertNotNull(saveAndLoad);
69+
Assert.assertNotEquals(deepClone, saveAndLoad);
70+
}
71+
72+
/**
73+
* Test cloning/saving/loading a Grid.
74+
*/
75+
@Test
76+
public void testCloneGrid() {
77+
Grid grid = new Grid(5, 5, 1f);
78+
79+
Grid deepClone = Cloner.deepClone(grid);
80+
Assert.assertNotNull(deepClone);
81+
Assert.assertNotEquals(deepClone, grid);
82+
83+
AssetManager assetManager = new DesktopAssetManager();
84+
Grid saveAndLoad = BinaryExporter.saveAndLoad(assetManager, grid);
85+
Assert.assertNotNull(saveAndLoad);
86+
Assert.assertNotEquals(deepClone, saveAndLoad);
87+
}
88+
89+
/**
90+
* Test cloning/saving/loading a SkeletonDebugger.
91+
*/
92+
public void testCloneSkeletonDebugger() {
93+
Bone[] boneArray = new Bone[2];
94+
boneArray[0] = new Bone("rootBone");
95+
boneArray[1] = new Bone("leafBone");
96+
boneArray[0].addChild(boneArray[1]);
97+
Skeleton skeleton = new Skeleton(boneArray);
98+
skeleton.setBindingPose();
99+
SkeletonDebugger skeletonDebugger
100+
= new SkeletonDebugger("sd", skeleton);
101+
102+
SkeletonDebugger deepClone = Cloner.deepClone(skeletonDebugger);
103+
Assert.assertNotNull(deepClone);
104+
Assert.assertNotEquals(deepClone, skeletonDebugger);
105+
106+
AssetManager assetManager = new DesktopAssetManager();
107+
SkeletonDebugger saveAndLoad
108+
= BinaryExporter.saveAndLoad(assetManager, skeletonDebugger);
109+
Assert.assertNotNull(saveAndLoad);
110+
Assert.assertNotEquals(deepClone, saveAndLoad);
111+
}
112+
113+
/**
114+
* Test cloning/saving/loading a SkeletonInterBoneWire.
115+
*/
116+
public void testCloneSkeletonInterBoneWire() {
117+
Bone[] boneArray = new Bone[2];
118+
boneArray[0] = new Bone("rootBone");
119+
boneArray[1] = new Bone("leafBone");
120+
boneArray[0].addChild(boneArray[1]);
121+
Skeleton skeleton = new Skeleton(boneArray);
122+
skeleton.setBindingPose();
123+
Map<Integer, Float> boneLengths = new HashMap<>();
124+
boneLengths.put(0, 2f);
125+
boneLengths.put(1, 1f);
126+
SkeletonInterBoneWire sibw
127+
= new SkeletonInterBoneWire(skeleton, boneLengths);
128+
129+
SkeletonInterBoneWire deepClone = Cloner.deepClone(sibw);
130+
Assert.assertNotNull(deepClone);
131+
Assert.assertNotEquals(deepClone, sibw);
132+
133+
AssetManager assetManager = new DesktopAssetManager();
134+
SkeletonInterBoneWire saveAndLoad
135+
= BinaryExporter.saveAndLoad(assetManager, sibw);
136+
Assert.assertNotNull(saveAndLoad);
137+
Assert.assertNotEquals(deepClone, saveAndLoad);
138+
}
139+
140+
/**
141+
* Test cloning/saving/loading a SkeletonPoints.
142+
*/
143+
public void testCloneSkeletonPoints() {
144+
Bone[] boneArray = new Bone[2];
145+
boneArray[0] = new Bone("rootBone");
146+
boneArray[1] = new Bone("leafBone");
147+
boneArray[0].addChild(boneArray[1]);
148+
Skeleton skeleton = new Skeleton(boneArray);
149+
skeleton.setBindingPose();
150+
SkeletonPoints skeletonPoints = new SkeletonPoints(skeleton);
151+
152+
SkeletonPoints deepClone = Cloner.deepClone(skeletonPoints);
153+
Assert.assertNotNull(deepClone);
154+
Assert.assertNotEquals(deepClone, skeletonPoints);
155+
156+
AssetManager assetManager = new DesktopAssetManager();
157+
SkeletonPoints saveAndLoad
158+
= BinaryExporter.saveAndLoad(assetManager, skeletonPoints);
159+
Assert.assertNotNull(saveAndLoad);
160+
Assert.assertNotEquals(deepClone, saveAndLoad);
161+
}
162+
163+
/**
164+
* Test cloning/saving/loading a SkeletonWire.
165+
*/
166+
public void testCloneSkeletonWire() {
167+
Bone[] boneArray = new Bone[2];
168+
boneArray[0] = new Bone("rootBone");
169+
boneArray[1] = new Bone("leafBone");
170+
boneArray[0].addChild(boneArray[1]);
171+
Skeleton skeleton = new Skeleton(boneArray);
172+
SkeletonWire skeletonWire = new SkeletonWire(skeleton);
173+
174+
SkeletonWire deepClone = Cloner.deepClone(skeletonWire);
175+
Assert.assertNotNull(deepClone);
176+
Assert.assertNotEquals(deepClone, skeletonWire);
177+
178+
AssetManager assetManager = new DesktopAssetManager();
179+
SkeletonWire saveAndLoad
180+
= BinaryExporter.saveAndLoad(assetManager, skeletonWire);
181+
Assert.assertNotNull(saveAndLoad);
182+
Assert.assertNotEquals(deepClone, saveAndLoad);
183+
}
184+
185+
/**
186+
* Test cloning/saving/loading a WireBox.
187+
*/
188+
@Test
189+
public void testCloneWireBox() {
190+
WireBox box = new WireBox(0.5f, 0.5f, 0.5f);
191+
192+
WireBox deepClone = Cloner.deepClone(box);
193+
Assert.assertNotNull(deepClone);
194+
Assert.assertNotEquals(deepClone, box);
195+
196+
AssetManager assetManager = new DesktopAssetManager();
197+
WireBox saveAndLoad = BinaryExporter.saveAndLoad(assetManager, box);
198+
Assert.assertNotNull(saveAndLoad);
199+
Assert.assertNotEquals(deepClone, saveAndLoad);
200+
}
201+
202+
/**
203+
* Test cloning/saving/loading a WireSphere.
204+
*/
205+
@Test
206+
public void testCloneWireSphere() {
207+
WireSphere sphere = new WireSphere(1f);
208+
209+
WireSphere deepClone = Cloner.deepClone(sphere);
210+
Assert.assertNotNull(deepClone);
211+
Assert.assertNotEquals(deepClone, sphere);
212+
213+
AssetManager assetManager = new DesktopAssetManager();
214+
WireSphere saveAndLoad
215+
= BinaryExporter.saveAndLoad(assetManager, sphere);
216+
Assert.assertNotNull(saveAndLoad);
217+
Assert.assertNotEquals(deepClone, saveAndLoad);
218+
}
57219

58220
/**
59221
* Test cloning/saving/loading a WireFrustum.
@@ -65,10 +227,11 @@ public void testIssue1462() {
65227
vertices[vertexIndex] = new Vector3f();
66228
}
67229
WireFrustum wireFrustum = new WireFrustum(vertices);
68-
WireFrustum deepClone = (WireFrustum) Cloner.deepClone(wireFrustum);
230+
WireFrustum deepClone = Cloner.deepClone(wireFrustum);
69231
Assert.assertNotNull(deepClone);
70232
Assert.assertNotEquals(deepClone, wireFrustum);
71233

234+
AssetManager assetManager = new DesktopAssetManager();
72235
WireFrustum saveAndLoad
73236
= BinaryExporter.saveAndLoad(assetManager, wireFrustum);
74237
Assert.assertNotNull(saveAndLoad);

0 commit comments

Comments
 (0)