Pārlūkot izejas kodu

Updated tests to use canonical data. Removed tests that deviate from it

Jack Mustacato 9 gadus atpakaļ
vecāks
revīzija
1b82f123e7

+ 1
- 1
exercises/triangle/.meta/src/reference/java/Triangle.java Parādīt failu

@@ -25,7 +25,7 @@ class Triangle {
25 25
     }
26 26
 
27 27
     boolean isIsosceles() {
28
-        return uniqueSides == 2;
28
+        return (uniqueSides == 2 || isEquilateral());
29 29
     }
30 30
 
31 31
     boolean isScalene() {

+ 46
- 20
exercises/triangle/src/test/java/TriangleTest.java Parādīt failu

@@ -4,6 +4,7 @@ import org.junit.Rule;
4 4
 import org.junit.rules.ExpectedException;
5 5
 
6 6
 import static org.junit.Assert.assertTrue;
7
+import static org.junit.Assert.assertFalse;
7 8
 
8 9
 public class TriangleTest {
9 10
 
@@ -19,8 +20,24 @@ public class TriangleTest {
19 20
 
20 21
     @Ignore("Remove to run test")
21 22
     @Test
22
-    public void largerEquilateralTrianglesAlsoHaveEqualSides() throws TriangleException {
23
-        Triangle triangle = new Triangle(10, 10, 10);
23
+    public void trianglesWithOneUnequalSideAreNotEquilateral() throws TriangleException {
24
+        Triangle triangle = new Triangle(2, 3, 2);
25
+
26
+        assertFalse(triangle.isEquilateral());
27
+    }
28
+
29
+    @Ignore("Remove to run test")
30
+    @Test
31
+    public void trianglesWithNoEqualSidesAreNotEquilateral() throws TriangleException {
32
+        Triangle triangle = new Triangle(5, 4, 6);
33
+
34
+        assertFalse(triangle.isEquilateral());
35
+    }
36
+
37
+    @Ignore("Remove to run test")
38
+    @Test
39
+    public void verySmallTrianglesCanBeEquilateral() throws TriangleException {
40
+        Triangle triangle = new Triangle(0.5, 0.5, 0.5);
24 41
 
25 42
         assertTrue(triangle.isEquilateral());
26 43
     }
@@ -51,8 +68,24 @@ public class TriangleTest {
51 68
 
52 69
     @Ignore("Remove to run test")
53 70
     @Test
54
-    public void isoscelesTrianglesHaveInFactExactlyTwoSidesEqual() throws TriangleException {
55
-        Triangle triangle = new Triangle(10, 10, 2);
71
+    public void isoscelesTrianglesCanHaveAllSidesEqual() throws TriangleException {
72
+        Triangle triangle = new Triangle(4, 4, 4);
73
+
74
+        assertTrue(triangle.isIsosceles());
75
+    }
76
+
77
+    @Ignore("Remove to run test")
78
+    @Test
79
+    public void isoscelesTrianglesMustHaveAtLeastTwoEqualSides() throws TriangleException {
80
+        Triangle triangle = new Triangle(2, 3, 4);
81
+
82
+        assertFalse(triangle.isIsosceles());
83
+    }
84
+
85
+    @Ignore("Remove to run test")
86
+    @Test
87
+    public void verySmallTrianglesCanBeIsosceles() throws TriangleException {
88
+        Triangle triangle = new Triangle(0.5, 0.4, 0.5);
56 89
 
57 90
         assertTrue(triangle.isIsosceles());
58 91
     }
@@ -60,31 +93,31 @@ public class TriangleTest {
60 93
     @Ignore("Remove to run test")
61 94
     @Test
62 95
     public void scaleneTrianglesHaveNoEqualSides() throws TriangleException {
63
-        Triangle triangle = new Triangle(3, 4, 5);
96
+        Triangle triangle = new Triangle(5, 4, 6);
64 97
 
65 98
         assertTrue(triangle.isScalene());
66 99
     }
67 100
 
68 101
     @Ignore("Remove to run test")
69 102
     @Test
70
-    public void scaleneTrianglesHaveNoEqualSidesAtLargerScaleEither() throws TriangleException {
71
-        Triangle triangle = new Triangle(10, 11, 12);
103
+    public void trianglesWithAllSidesEqualAreNotScalene() throws TriangleException {
104
+        Triangle triangle = new Triangle(4, 4, 4);
72 105
 
73
-        assertTrue(triangle.isScalene());
106
+        assertFalse(triangle.isScalene());
74 107
     }
75 108
 
76 109
     @Ignore("Remove to run test")
77 110
     @Test
78
-    public void scaleneTrianglesHaveNoEqualSidesInDescendingOrderEither() throws TriangleException {
79
-        Triangle triangle = new Triangle(5, 4, 2);
111
+    public void trianglesWithOneUnequalSideAreNotScalene() throws TriangleException {
112
+        Triangle triangle = new Triangle(4, 4, 3);
80 113
 
81
-        assertTrue(triangle.isScalene());
114
+        assertFalse(triangle.isScalene());
82 115
     }
83 116
 
84 117
     @Ignore("Remove to run test")
85 118
     @Test
86
-    public void verySmallTrianglesAreLegal() throws TriangleException {
87
-        Triangle triangle = new Triangle(0.4, 0.6, 0.3);
119
+    public void verySmallTrianglesCanBeScalene() throws TriangleException {
120
+        Triangle triangle = new Triangle(0.5, 0.4, 0.6);
88 121
 
89 122
         assertTrue(triangle.isScalene());
90 123
     }
@@ -112,13 +145,6 @@ public class TriangleTest {
112 145
 
113 146
     @Ignore("Remove to run test")
114 147
     @Test
115
-    public void trianglesViolatingTriangleInequalityAreIllegal2() throws TriangleException {
116
-        expectedException.expect(TriangleException.class);
117
-        new Triangle(2, 5, 2);
118
-    }
119
-
120
-    @Ignore("Remove to run test")
121
-    @Test
122 148
     public void trianglesViolatingTriangleInequalityAreIllegal3() throws TriangleException {
123 149
         expectedException.expect(TriangleException.class);
124 150
         new Triangle(7, 3, 2);