Skip to content

Commit bc8c840

Browse files
committed
com.jme3.math tests: add the TestToString class
1 parent f53dd63 commit bc8c840

File tree

1 file changed

+87
-0
lines changed

1 file changed

+87
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
/*
2+
* Copyright (c) 2009-2024 jMonkeyEngine
3+
* All rights reserved.
4+
*
5+
* Redistribution and use in source and binary forms, with or without
6+
* modification, are permitted provided that the following conditions are
7+
* met:
8+
*
9+
* * Redistributions of source code must retain the above copyright
10+
* notice, this list of conditions and the following disclaimer.
11+
*
12+
* * Redistributions in binary form must reproduce the above copyright
13+
* notice, this list of conditions and the following disclaimer in the
14+
* documentation and/or other materials provided with the distribution.
15+
*
16+
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors
17+
* may be used to endorse or promote products derived from this software
18+
* without specific prior written permission.
19+
*
20+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21+
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22+
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
28+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
29+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31+
*/
32+
package com.jme3.math;
33+
34+
import org.junit.Assert;
35+
import org.junit.Test;
36+
37+
/**
38+
* Test various toString() methods using JUnit. See also
39+
* {@link com.jme3.math.TestTransform}.
40+
*
41+
* @author Stephen Gold
42+
*/
43+
public class TestToString {
44+
/**
45+
* Test various {@code toString()} methods against their javadoc.
46+
*/
47+
@Test
48+
public void testToString() {
49+
// Test data that's never modified:
50+
Line line = new Line(
51+
new Vector3f(1f, 0f, 0f),
52+
new Vector3f(0f, 1f, 0f));
53+
54+
LineSegment segment = new LineSegment(
55+
new Vector3f(1f, 0f, 0f), new Vector3f(0f, 1f, 0f), 1f);
56+
57+
Rectangle rectangle = new Rectangle(
58+
new Vector3f(1f, 0f, 0f),
59+
new Vector3f(2f, 0f, 0f),
60+
new Vector3f(1f, 2f, 0f));
61+
62+
Triangle triangle = new Triangle(
63+
new Vector3f(1f, 0f, 0f),
64+
new Vector3f(0f, 1f, 0f),
65+
new Vector3f(0f, 0f, 1f));
66+
67+
// Verify that the methods don't throw an exception:
68+
String lineString = line.toString();
69+
String segmentString = segment.toString();
70+
String rectangleString = rectangle.toString();
71+
String triangleString = triangle.toString();
72+
73+
// Verify that the results match the javadoc:
74+
Assert.assertEquals(
75+
"Line [Origin: (1.0, 0.0, 0.0) Direction: (0.0, 1.0, 0.0)]",
76+
lineString);
77+
Assert.assertEquals(
78+
"LineSegment [Origin: (1.0, 0.0, 0.0) Direction: (0.0, 1.0, 0.0) Extent: 1.0]",
79+
segmentString);
80+
Assert.assertEquals(
81+
"Rectangle [A: (1.0, 0.0, 0.0) B: (2.0, 0.0, 0.0) C: (1.0, 2.0, 0.0)]",
82+
rectangleString);
83+
Assert.assertEquals(
84+
"Triangle [V1: (1.0, 0.0, 0.0) V2: (0.0, 1.0, 0.0) V3: (0.0, 0.0, 1.0)]",
85+
triangleString);
86+
}
87+
}

0 commit comments

Comments
 (0)