Преглед изворни кода

Added isEquilateral, isIsosceles, and isScalene, and updated tests

Jack Mustacato пре 9 година
родитељ
комит
5a6c615057

+ 11
- 10
exercises/triangle/.meta/src/reference/java/Triangle.java Прегледај датотеку

6
     private double side1;
6
     private double side1;
7
     private double side2;
7
     private double side2;
8
     private double side3;
8
     private double side3;
9
+    private int uniqueSides;
9
 
10
 
10
     Triangle(double side1, double side2, double side3) throws TriangleException {
11
     Triangle(double side1, double side2, double side3) throws TriangleException {
11
         this.side1 = side1;
12
         this.side1 = side1;
15
         if (allSidesAreZero() || hasImpossibleSides() || violatesTriangleInequality()) {
16
         if (allSidesAreZero() || hasImpossibleSides() || violatesTriangleInequality()) {
16
             throw new TriangleException();
17
             throw new TriangleException();
17
         }
18
         }
18
-    }
19
 
19
 
20
-    TriangleKind getKind() {
21
-        int uniqueSides = getNumberOfUniqueSides();
20
+        this.uniqueSides = getNumberOfUniqueSides();
21
+    }
22
 
22
 
23
-        if (uniqueSides == 1) {
24
-            return TriangleKind.EQUILATERAL;
25
-        }
23
+    private boolean isEquilateral() {
24
+        return uniqueSides == 1;
25
+    }
26
 
26
 
27
-        if (uniqueSides == 2) {
28
-            return TriangleKind.ISOSCELES;
29
-        }
27
+    private boolean isIsosceles() {
28
+        return uniqueSides == 2;
29
+    }
30
 
30
 
31
-        return TriangleKind.SCALENE;
31
+    private boolean isScalene() {
32
+        return uniqueSides == 3;
32
     }
33
     }
33
 
34
 
34
     private boolean allSidesAreZero() {
35
     private boolean allSidesAreZero() {

+ 10
- 10
exercises/triangle/src/test/java/TriangleTest.java Прегледај датотеку

14
     public void equilateralTrianglesHaveEqualSides() throws TriangleException {
14
     public void equilateralTrianglesHaveEqualSides() throws TriangleException {
15
         Triangle triangle = new Triangle(2, 2, 2);
15
         Triangle triangle = new Triangle(2, 2, 2);
16
 
16
 
17
-        assertEquals(TriangleKind.EQUILATERAL, triangle.getKind());
17
+        assertEquals(true, triangle.isEquilateral());
18
     }
18
     }
19
 
19
 
20
     @Ignore("Remove to run test")
20
     @Ignore("Remove to run test")
22
     public void largerEquilateralTrianglesAlsoHaveEqualSides() throws TriangleException {
22
     public void largerEquilateralTrianglesAlsoHaveEqualSides() throws TriangleException {
23
         Triangle triangle = new Triangle(10, 10, 10);
23
         Triangle triangle = new Triangle(10, 10, 10);
24
 
24
 
25
-        assertEquals(TriangleKind.EQUILATERAL, triangle.getKind());
25
+        assertEquals(true, triangle.isEquilateral());
26
     }
26
     }
27
 
27
 
28
     @Ignore("Remove to run test")
28
     @Ignore("Remove to run test")
30
     public void isoscelesTrianglesHaveLastTwoSidesEqual() throws TriangleException {
30
     public void isoscelesTrianglesHaveLastTwoSidesEqual() throws TriangleException {
31
         Triangle triangle = new Triangle(3, 4, 4);
31
         Triangle triangle = new Triangle(3, 4, 4);
32
 
32
 
33
-        assertEquals(TriangleKind.ISOSCELES, triangle.getKind());
33
+        assertEquals(true, triangle.isIsosceles());
34
     }
34
     }
35
 
35
 
36
     @Ignore("Remove to run test")
36
     @Ignore("Remove to run test")
38
     public void isoscelesTrianglesHaveFirstAndLastSidesEqual() throws TriangleException {
38
     public void isoscelesTrianglesHaveFirstAndLastSidesEqual() throws TriangleException {
39
         Triangle triangle = new Triangle(4, 3, 4);
39
         Triangle triangle = new Triangle(4, 3, 4);
40
 
40
 
41
-        assertEquals(TriangleKind.ISOSCELES, triangle.getKind());
41
+        assertEquals(true, triangle.isIsosceles());
42
     }
42
     }
43
 
43
 
44
     @Ignore("Remove to run test")
44
     @Ignore("Remove to run test")
46
     public void isoscelesTrianglesHaveTwoFirstSidesEqual() throws TriangleException {
46
     public void isoscelesTrianglesHaveTwoFirstSidesEqual() throws TriangleException {
47
         Triangle triangle = new Triangle(4, 4, 3);
47
         Triangle triangle = new Triangle(4, 4, 3);
48
 
48
 
49
-        assertEquals(TriangleKind.ISOSCELES, triangle.getKind());
49
+        assertEquals(true, triangle.isIsosceles());
50
     }
50
     }
51
 
51
 
52
     @Ignore("Remove to run test")
52
     @Ignore("Remove to run test")
54
     public void isoscelesTrianglesHaveInFactExactlyTwoSidesEqual() throws TriangleException {
54
     public void isoscelesTrianglesHaveInFactExactlyTwoSidesEqual() throws TriangleException {
55
         Triangle triangle = new Triangle(10, 10, 2);
55
         Triangle triangle = new Triangle(10, 10, 2);
56
 
56
 
57
-        assertEquals(TriangleKind.ISOSCELES, triangle.getKind());
57
+        assertEquals(true, triangle.isIsosceles());
58
     }
58
     }
59
 
59
 
60
     @Ignore("Remove to run test")
60
     @Ignore("Remove to run test")
62
     public void scaleneTrianglesHaveNoEqualSides() throws TriangleException {
62
     public void scaleneTrianglesHaveNoEqualSides() throws TriangleException {
63
         Triangle triangle = new Triangle(3, 4, 5);
63
         Triangle triangle = new Triangle(3, 4, 5);
64
 
64
 
65
-        assertEquals(TriangleKind.SCALENE, triangle.getKind());
65
+        assertEquals(true, triangle.isScalene());
66
     }
66
     }
67
 
67
 
68
     @Ignore("Remove to run test")
68
     @Ignore("Remove to run test")
70
     public void scaleneTrianglesHaveNoEqualSidesAtLargerScaleEither() throws TriangleException {
70
     public void scaleneTrianglesHaveNoEqualSidesAtLargerScaleEither() throws TriangleException {
71
         Triangle triangle = new Triangle(10, 11, 12);
71
         Triangle triangle = new Triangle(10, 11, 12);
72
 
72
 
73
-        assertEquals(TriangleKind.SCALENE, triangle.getKind());
73
+        assertEquals(true, triangle.isScalene());
74
     }
74
     }
75
 
75
 
76
     @Ignore("Remove to run test")
76
     @Ignore("Remove to run test")
78
     public void scaleneTrianglesHaveNoEqualSidesInDescendingOrderEither() throws TriangleException {
78
     public void scaleneTrianglesHaveNoEqualSidesInDescendingOrderEither() throws TriangleException {
79
         Triangle triangle = new Triangle(5, 4, 2);
79
         Triangle triangle = new Triangle(5, 4, 2);
80
 
80
 
81
-        assertEquals(TriangleKind.SCALENE, triangle.getKind());
81
+        assertEquals(true, triangle.isScalene());
82
     }
82
     }
83
 
83
 
84
     @Ignore("Remove to run test")
84
     @Ignore("Remove to run test")
86
     public void verySmallTrianglesAreLegal() throws TriangleException {
86
     public void verySmallTrianglesAreLegal() throws TriangleException {
87
         Triangle triangle = new Triangle(0.4, 0.6, 0.3);
87
         Triangle triangle = new Triangle(0.4, 0.6, 0.3);
88
 
88
 
89
-        assertEquals(TriangleKind.SCALENE, triangle.getKind());
89
+        assertEquals(true, triangle.isScalene());
90
     }
90
     }
91
 
91
 
92
     @Ignore("Remove to run test")
92
     @Ignore("Remove to run test")