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) {