Skip to content

Commit facc048

Browse files
committed
Added archimedian solid creator unit test.
1 parent 0dd93b9 commit facc048

File tree

1 file changed

+280
-0
lines changed

1 file changed

+280
-0
lines changed
Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
1+
package mesh.creator.archimedian;
2+
3+
import static org.junit.Assert.assertArrayEquals;
4+
import static org.junit.Assert.assertTrue;
5+
import static org.junit.jupiter.api.Assertions.assertEquals;
6+
7+
import org.junit.jupiter.api.Test;
8+
9+
import mesh.Mesh3D;
10+
11+
public class ArchimedianSolidCreatorTest {
12+
13+
@Test
14+
public void testNull() {
15+
Mesh3D actualMesh = new ArchimedianSolidCreator(null).create();
16+
assertTrue(actualMesh.vertices.isEmpty());
17+
assertTrue(actualMesh.faces.isEmpty());
18+
}
19+
20+
@Test
21+
public void testIcosidodecahedronCreatorVertices() {
22+
ArchimedianSolid type = ArchimedianSolid.ICOSIDODECAHEDRON;
23+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
24+
Mesh3D expectedMesh = new IcosidodecahedronCreator().create();
25+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
26+
}
27+
28+
@Test
29+
public void testTruncatedCuboctahedronCreatorVertices() {
30+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_CUBOCTAHEDRON;
31+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
32+
Mesh3D expectedMesh = new TruncatedCuboctahedronCreator().create();
33+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
34+
}
35+
36+
@Test
37+
public void testRhombicuboctahedronCreatorVertices() {
38+
ArchimedianSolid type = ArchimedianSolid.RHOMBICUBOCTAHEDRON;
39+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
40+
Mesh3D expectedMesh = new RhombicuboctahedronCreator().create();
41+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
42+
}
43+
44+
@Test
45+
public void testTruncatedIcosidodecahedronCreatorVertices() {
46+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_ICOSIDODECAHEDRON;
47+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
48+
Mesh3D expectedMesh = new TruncatedIcosidodecahedronCreator().create();
49+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
50+
}
51+
52+
@Test
53+
public void testCuboctahedronCreatorVertices() {
54+
ArchimedianSolid type = ArchimedianSolid.CUBOCTAHEDRON;
55+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
56+
Mesh3D expectedMesh = new CuboctahedronCreator().create();
57+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
58+
}
59+
60+
@Test
61+
public void testSnubCreatorVertices() {
62+
ArchimedianSolid type = ArchimedianSolid.SNUB_CUBE;
63+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
64+
Mesh3D expectedMesh = new SnubCubeCreator().create();
65+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
66+
}
67+
68+
@Test
69+
public void testRhombicosidodecahedronCreatorVertices() {
70+
ArchimedianSolid type = ArchimedianSolid.RHOMBISOSIDODECAHEDRON;
71+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
72+
Mesh3D expectedMesh = new RhombicosidodecahedronCreator().create();
73+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
74+
}
75+
76+
@Test
77+
public void testSnubDodecahedronCreatorVertices() {
78+
ArchimedianSolid type = ArchimedianSolid.SNUB_DODECAHEDRON;
79+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
80+
Mesh3D expectedMesh = new SnubDodecahedronCreator().create();
81+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
82+
}
83+
84+
@Test
85+
public void testTruncatedTetrahedronCreatorVertices() {
86+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_TETRAHEDRON;
87+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
88+
Mesh3D expectedMesh = new TruncatedTetrahedronCreator().create();
89+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
90+
}
91+
92+
@Test
93+
public void testTruncatedOctahedronCreatorVertices() {
94+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_OCTAHEDRON;
95+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
96+
Mesh3D expectedMesh = new TruncatedOctahedronCreator().create();
97+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
98+
}
99+
100+
@Test
101+
public void testTruncatedCubeCreatorVertices() {
102+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_CUBE;
103+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
104+
Mesh3D expectedMesh = new TruncatedCubeCreator().create();
105+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
106+
}
107+
108+
@Test
109+
public void testTruncatedIcosahedronCreatorVertices() {
110+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_ICOSAHEDRON;
111+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
112+
Mesh3D expectedMesh = new TruncatedIcosahedronCreator().create();
113+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
114+
}
115+
116+
@Test
117+
public void testTruncatedDodecahedronCreatorVertices() {
118+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_DODECAHEDRON;
119+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
120+
Mesh3D expectedMesh = new TruncatedDodecahedronCreator().create();
121+
assertEquals(expectedMesh.vertices, actualMesh.vertices);
122+
}
123+
124+
@Test
125+
public void testIcosidodecahedronCreatorFaces() {
126+
ArchimedianSolid type = ArchimedianSolid.ICOSIDODECAHEDRON;
127+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
128+
Mesh3D expectedMesh = new IcosidodecahedronCreator().create();
129+
for (int i = 0; i < actualMesh.faces.size(); i++) {
130+
int[] expected = expectedMesh.getFaceAt(i).indices;
131+
int[] actual = actualMesh.getFaceAt(i).indices;
132+
assertArrayEquals(expected, actual);
133+
}
134+
}
135+
136+
@Test
137+
public void testTruncatedCuboctahedronCreatorFaces() {
138+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_CUBOCTAHEDRON;
139+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
140+
Mesh3D expectedMesh = new TruncatedCuboctahedronCreator().create();
141+
for (int i = 0; i < actualMesh.faces.size(); i++) {
142+
int[] expected = expectedMesh.getFaceAt(i).indices;
143+
int[] actual = actualMesh.getFaceAt(i).indices;
144+
assertArrayEquals(expected, actual);
145+
}
146+
}
147+
148+
@Test
149+
public void testRhombicuboctahedronCreatorFaces() {
150+
ArchimedianSolid type = ArchimedianSolid.RHOMBICUBOCTAHEDRON;
151+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
152+
Mesh3D expectedMesh = new RhombicuboctahedronCreator().create();
153+
for (int i = 0; i < actualMesh.faces.size(); i++) {
154+
int[] expected = expectedMesh.getFaceAt(i).indices;
155+
int[] actual = actualMesh.getFaceAt(i).indices;
156+
assertArrayEquals(expected, actual);
157+
}
158+
}
159+
160+
@Test
161+
public void testTruncatedIcosidodecahedronCreatorFaces() {
162+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_ICOSIDODECAHEDRON;
163+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
164+
Mesh3D expectedMesh = new TruncatedIcosidodecahedronCreator().create();
165+
for (int i = 0; i < actualMesh.faces.size(); i++) {
166+
int[] expected = expectedMesh.getFaceAt(i).indices;
167+
int[] actual = actualMesh.getFaceAt(i).indices;
168+
assertArrayEquals(expected, actual);
169+
}
170+
}
171+
172+
@Test
173+
public void testCuboctahedronCreatorFaces() {
174+
ArchimedianSolid type = ArchimedianSolid.CUBOCTAHEDRON;
175+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
176+
Mesh3D expectedMesh = new CuboctahedronCreator().create();
177+
for (int i = 0; i < actualMesh.faces.size(); i++) {
178+
int[] expected = expectedMesh.getFaceAt(i).indices;
179+
int[] actual = actualMesh.getFaceAt(i).indices;
180+
assertArrayEquals(expected, actual);
181+
}
182+
}
183+
184+
@Test
185+
public void testSnubCreatorFaces() {
186+
ArchimedianSolid type = ArchimedianSolid.SNUB_CUBE;
187+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
188+
Mesh3D expectedMesh = new SnubCubeCreator().create();
189+
for (int i = 0; i < actualMesh.faces.size(); i++) {
190+
int[] expected = expectedMesh.getFaceAt(i).indices;
191+
int[] actual = actualMesh.getFaceAt(i).indices;
192+
assertArrayEquals(expected, actual);
193+
}
194+
}
195+
196+
@Test
197+
public void testRhombicosidodecahedronCreatorFaces() {
198+
ArchimedianSolid type = ArchimedianSolid.RHOMBISOSIDODECAHEDRON;
199+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
200+
Mesh3D expectedMesh = new RhombicosidodecahedronCreator().create();
201+
for (int i = 0; i < actualMesh.faces.size(); i++) {
202+
int[] expected = expectedMesh.getFaceAt(i).indices;
203+
int[] actual = actualMesh.getFaceAt(i).indices;
204+
assertArrayEquals(expected, actual);
205+
}
206+
}
207+
208+
@Test
209+
public void testSnubDodecahedronCreatorFaces() {
210+
ArchimedianSolid type = ArchimedianSolid.SNUB_DODECAHEDRON;
211+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
212+
Mesh3D expectedMesh = new SnubDodecahedronCreator().create();
213+
for (int i = 0; i < actualMesh.faces.size(); i++) {
214+
int[] expected = expectedMesh.getFaceAt(i).indices;
215+
int[] actual = actualMesh.getFaceAt(i).indices;
216+
assertArrayEquals(expected, actual);
217+
}
218+
}
219+
220+
@Test
221+
public void testTruncatedTetrahedronCreatorFaces() {
222+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_TETRAHEDRON;
223+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
224+
Mesh3D expectedMesh = new TruncatedTetrahedronCreator().create();
225+
for (int i = 0; i < actualMesh.faces.size(); i++) {
226+
int[] expected = expectedMesh.getFaceAt(i).indices;
227+
int[] actual = actualMesh.getFaceAt(i).indices;
228+
assertArrayEquals(expected, actual);
229+
}
230+
}
231+
232+
@Test
233+
public void testTruncatedOctahedronCreatorFaces() {
234+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_OCTAHEDRON;
235+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
236+
Mesh3D expectedMesh = new TruncatedOctahedronCreator().create();
237+
for (int i = 0; i < actualMesh.faces.size(); i++) {
238+
int[] expected = expectedMesh.getFaceAt(i).indices;
239+
int[] actual = actualMesh.getFaceAt(i).indices;
240+
assertArrayEquals(expected, actual);
241+
}
242+
}
243+
244+
@Test
245+
public void testTruncatedCubeCreatorFaces() {
246+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_CUBE;
247+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
248+
Mesh3D expectedMesh = new TruncatedCubeCreator().create();
249+
for (int i = 0; i < actualMesh.faces.size(); i++) {
250+
int[] expected = expectedMesh.getFaceAt(i).indices;
251+
int[] actual = actualMesh.getFaceAt(i).indices;
252+
assertArrayEquals(expected, actual);
253+
}
254+
}
255+
256+
@Test
257+
public void testTruncatedIcosahedronCreatorFaces() {
258+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_ICOSAHEDRON;
259+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
260+
Mesh3D expectedMesh = new TruncatedIcosahedronCreator().create();
261+
for (int i = 0; i < actualMesh.faces.size(); i++) {
262+
int[] expected = expectedMesh.getFaceAt(i).indices;
263+
int[] actual = actualMesh.getFaceAt(i).indices;
264+
assertArrayEquals(expected, actual);
265+
}
266+
}
267+
268+
@Test
269+
public void testTruncatedDodecahedronCreatorFaces() {
270+
ArchimedianSolid type = ArchimedianSolid.TRUNCATED_DODECAHEDRON;
271+
Mesh3D actualMesh = new ArchimedianSolidCreator(type).create();
272+
Mesh3D expectedMesh = new TruncatedDodecahedronCreator().create();
273+
for (int i = 0; i < actualMesh.faces.size(); i++) {
274+
int[] expected = expectedMesh.getFaceAt(i).indices;
275+
int[] actual = actualMesh.getFaceAt(i).indices;
276+
assertArrayEquals(expected, actual);
277+
}
278+
}
279+
280+
}

0 commit comments

Comments
 (0)