Selaa lähdekoodia

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

Jack Mustacato 9 vuotta sitten
vanhempi
commit
1b82f123e7

+ 1
- 1
exercises/triangle/.meta/src/reference/java/Triangle.java Näytä tiedosto

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

+ 46
- 20
exercises/triangle/src/test/java/TriangleTest.java Näytä tiedosto

4
 import org.junit.rules.ExpectedException;
4
 import org.junit.rules.ExpectedException;
5
 
5
 
6
 import static org.junit.Assert.assertTrue;
6
 import static org.junit.Assert.assertTrue;
7
+import static org.junit.Assert.assertFalse;
7
 
8
 
8
 public class TriangleTest {
9
 public class TriangleTest {
9
 
10
 
19
 
20
 
20
     @Ignore("Remove to run test")
21
     @Ignore("Remove to run test")
21
     @Test
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
         assertTrue(triangle.isEquilateral());
42
         assertTrue(triangle.isEquilateral());
26
     }
43
     }
51
 
68
 
52
     @Ignore("Remove to run test")
69
     @Ignore("Remove to run test")
53
     @Test
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
         assertTrue(triangle.isIsosceles());
90
         assertTrue(triangle.isIsosceles());
58
     }
91
     }
60
     @Ignore("Remove to run test")
93
     @Ignore("Remove to run test")
61
     @Test
94
     @Test
62
     public void scaleneTrianglesHaveNoEqualSides() throws TriangleException {
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
         assertTrue(triangle.isScalene());
98
         assertTrue(triangle.isScalene());
66
     }
99
     }
67
 
100
 
68
     @Ignore("Remove to run test")
101
     @Ignore("Remove to run test")
69
     @Test
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
     @Ignore("Remove to run test")
109
     @Ignore("Remove to run test")
77
     @Test
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
     @Ignore("Remove to run test")
117
     @Ignore("Remove to run test")
85
     @Test
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
         assertTrue(triangle.isScalene());
122
         assertTrue(triangle.isScalene());
90
     }
123
     }
112
 
145
 
113
     @Ignore("Remove to run test")
146
     @Ignore("Remove to run test")
114
     @Test
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
     public void trianglesViolatingTriangleInequalityAreIllegal3() throws TriangleException {
148
     public void trianglesViolatingTriangleInequalityAreIllegal3() throws TriangleException {
123
         expectedException.expect(TriangleException.class);
149
         expectedException.expect(TriangleException.class);
124
         new Triangle(7, 3, 2);
150
         new Triangle(7, 3, 2);