OSDN Git Service

add strict unit test for math class.
authorOlyutorskii <olyutorskii@users.osdn.me>
Wed, 12 Jun 2019 08:14:04 +0000 (17:14 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Wed, 12 Jun 2019 08:14:04 +0000 (17:14 +0900)
src/main/java/jp/sfjp/mikutoga/math/MkPos2D.java
src/main/java/jp/sfjp/mikutoga/math/MkPos3D.java
src/test/java/jp/sfjp/mikutoga/math/MkPos2DTest.java
src/test/java/jp/sfjp/mikutoga/math/MkPos3DTest.java
src/test/java/jp/sfjp/mikutoga/math/MkQuatTest.java

index 9753b0f..dc05c20 100644 (file)
@@ -97,9 +97,9 @@ public strictfp class MkPos2D {
      * @return 原点ならtrue
      */
     public boolean isOriginPoint(){
      * @return 原点ならtrue
      */
     public boolean isOriginPoint(){
-        if(this.xPos != 0.0) return false;
-        if(this.yPos != 0.0) return false;
-        return true;
+        boolean result =
+                this.xPos == 0.0 && this.yPos == 0.0;
+        return result;
     }
 
     /**
     }
 
     /**
index c6abb82..9c80c3c 100644 (file)
@@ -120,10 +120,9 @@ public strictfp class MkPos3D {
      * @return 原点ならtrue
      */
     public boolean isOriginPoint(){
      * @return 原点ならtrue
      */
     public boolean isOriginPoint(){
-        if(this.xPos != 0.0) return false;
-        if(this.yPos != 0.0) return false;
-        if(this.zPos != 0.0) return false;
-        return true;
+        boolean result =
+                this.xPos == 0.0 && this.yPos == 0.0 && this.zPos == 0.0;
+        return result;
     }
 
     /**
     }
 
     /**
index 6d5ab13..d339e96 100644 (file)
@@ -61,6 +61,18 @@ public strictfp class MkPos2DTest {
         assertEquals(3.0, pos.getXpos(), 0.0);
         assertEquals(4.0, pos.getYpos(), 0.0);
 
         assertEquals(3.0, pos.getXpos(), 0.0);
         assertEquals(4.0, pos.getYpos(), 0.0);
 
+        pos.setPosition(1.0, 0.0);
+        assertFalse(pos.isOriginPoint());
+
+        pos.setPosition(0.0, 1.0);
+        assertFalse(pos.isOriginPoint());
+
+        pos.setPosition(0.0, 0.0);
+        assertTrue(pos.isOriginPoint());
+
+        pos.setPosition(-0.0, -0.0);
+        assertTrue(pos.isOriginPoint());
+
         pos = new MkPos2D(5.0, 6.0);
         assertEquals(5.0, pos.getXpos(), 0.0);
         assertEquals(6.0, pos.getYpos(), 0.0);
         pos = new MkPos2D(5.0, 6.0);
         assertEquals(5.0, pos.getXpos(), 0.0);
         assertEquals(6.0, pos.getYpos(), 0.0);
index 92ac94b..5ac6944 100644 (file)
@@ -70,6 +70,21 @@ public strictfp class MkPos3DTest {
         assertEquals(5.0, pos.getYpos(), 0.0);
         assertEquals(6.0, pos.getZpos(), 0.0);
 
         assertEquals(5.0, pos.getYpos(), 0.0);
         assertEquals(6.0, pos.getZpos(), 0.0);
 
+        pos.setPosition(0.0, 0.0, 0.0);
+        assertTrue(pos.isOriginPoint());
+
+        pos.setPosition(1.0, 0.0, 0.0);
+        assertFalse(pos.isOriginPoint());
+
+        pos.setPosition(0.0, 1.0, 0.0);
+        assertFalse(pos.isOriginPoint());
+
+        pos.setPosition(0.0, 0.0, 1.0);
+        assertFalse(pos.isOriginPoint());
+
+        pos.setPosition(-0.0, -0.0, -0.0);
+        assertTrue(pos.isOriginPoint());
+
         pos = new MkPos3D(7.0, 8.0, 9.0);
         assertEquals(7.0, pos.getXpos(), 0.0);
         assertEquals(8.0, pos.getYpos(), 0.0);
         pos = new MkPos3D(7.0, 8.0, 9.0);
         assertEquals(7.0, pos.getXpos(), 0.0);
         assertEquals(8.0, pos.getYpos(), 0.0);
index 216c3ec..235b8e7 100644 (file)
@@ -491,6 +491,15 @@ public strictfp class MkQuatTest {
         assert0UlpEquals(yRad, eu.getYRot());
         assertUlpEquals(zRad, eu.getZRot(), 1);
 
         assert0UlpEquals(yRad, eu.getYRot());
         assertUlpEquals(zRad, eu.getZRot(), 1);
 
+        xRad = toRadians(90);
+        yRad = toRadians(-120);
+        zRad = toRadians(120);
+        qq.setEulerYXZ(xRad, yRad, zRad);
+        qq.toEulerYXZ(eu, yRad);
+        assert0UlpEquals(xRad, eu.getXRot());
+        assert0UlpEquals(yRad, eu.getYRot());
+        assertUlpEquals(zRad, eu.getZRot(), 1);
+
         xRad = toRadians(89.999);
         yRad = toRadians(89.999);
         zRad = toRadians(89.999);
         xRad = toRadians(89.999);
         yRad = toRadians(89.999);
         zRad = toRadians(89.999);