diff --git a/src/test/java/koz01/java2/lab04/EquivalenceRoutines.java b/src/test/java/koz01/java2/lab04/EquivalenceRoutines.java new file mode 100644 index 0000000000000000000000000000000000000000..450075150ddc89ad169518b8efa60f3c3d5368a3 --- /dev/null +++ b/src/test/java/koz01/java2/lab04/EquivalenceRoutines.java @@ -0,0 +1,24 @@ +package koz01.java2.lab04; + +import static org.junit.jupiter.api.Assertions.assertTrue; + +class EquivalenceRoutines { + static void assertReflexivity(Object obj) { + assertTrue(obj.equals(obj)); + } + + static void assertSymmetry(Object obj1, Object obj2) { + if(obj1.equals(obj2)) { + assertTrue(obj2.equals(obj1)); + } else { + + assertTrue(!obj2.equals(obj1)); + } + } + + static void assertTransitivity(Object obj1, Object obj2, Object obj3) { + if(obj1.equals(obj2) && obj2.equals(obj3)) { + assertTrue(obj1.equals(obj3)); + } + } +} diff --git a/src/test/java/koz01/java2/lab04/TestEquals.java b/src/test/java/koz01/java2/lab04/TestEquals.java index 1cf9283f3d955b148638193734bf73d881126816..419127e48a4df72d587ca3a53884a73b22d50b72 100644 --- a/src/test/java/koz01/java2/lab04/TestEquals.java +++ b/src/test/java/koz01/java2/lab04/TestEquals.java @@ -1,32 +1,62 @@ package koz01.java2.lab04; -import static org.junit.jupiter.api.Assertions.*; +import static koz01.java2.lab04.EquivalenceRoutines.assertReflexivity; +import static koz01.java2.lab04.EquivalenceRoutines.assertSymmetry; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertTrue; +import org.junit.jupiter.api.MethodOrderer.OrderAnnotation; +import org.junit.jupiter.api.Order; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestMethodOrder; import javafx.scene.paint.Color; +@TestMethodOrder(OrderAnnotation.class) class TestEquals { @Test + @Order(1) + void testLogicEquality() { + Point p1 = new Point(1,2); + Point p2 = new Point(1,2); + assertTrue(p1.equals(p2)); + + Point p3 = new Point(1,1); + assertTrue(!p1.equals(p3)); + + + Point cp1 = new ColorPoint(1,2,Color.BLACK); + Point cp2 = new ColorPoint(1,2,Color.BLACK); + assertTrue(cp1.equals(cp2)); + + Point cp3 = new ColorPoint(1,1,Color.BLACK); + assertTrue(!cp1.equals(cp3)); + + Point cp4 = new ColorPoint(1,2,Color.WHITE); + assertTrue(!cp1.equals(cp4)); + } + + @Test + @Order(2) void testRelfexity() { Point p1 = new Point(1,2); - assertTrue(p1.equals(p1)); + assertReflexivity(p1); } @Test + @Order(3) void testSymmetry() { Point p1 = new Point(1,2); Point p2 = new Point(1,2); - Point p3 = new ColorPoint(1,1, Color.AZURE); - assertTrue(p1.equals(p2)); - assertTrue(p2.equals(p1)); - assertFalse(p1.equals(p3)); - assertFalse(p3.equals(p1)); + Point p3 = new ColorPoint(1,2, Color.AZURE); + + assertSymmetry(p1, p2); + assertSymmetry(p2, p3); } - @Test + @Order(4) void testTransitivity() { Point p1 = new ColorPoint(1,2,Color.CYAN); Point p2 = new Point(1,2); @@ -37,6 +67,7 @@ class TestEquals { } @Test + @Order(5) void testLiskovPrinciple() { Point p1 = new ColorPoint(1,2,Color.CYAN); Point p2 = new ColorPoint(1,2, Color.CYAN) {