Commit d18b0f3a authored by Kevin Bi's avatar Kevin Bi
Browse files

"Refactored the structure of the triangle test program to make it less confusing"

parent 2c28cc2e
Loading
Loading
Loading
Loading
+0 −35
Original line number Diff line number Diff line
package triangle.src.main.java;

public class Triangle {
	
	public enum Type {
		INVALID, SCALENE, EQUILATERAL, ISOSCELES
	};
	
	public static Type classify(int a, int b, int c) {
		int trian;
		if (a <= 0 || b <= 0 || c <= 0)
			return Type.INVALID;
		trian = 0;
		if (a == b)
			trian = trian + 1;
		if (a == c)
			trian = trian + 2;
		if (b == a) // bug should be b == c
			trian = trian + 3;
		if (trian == 0)
			if (a + b <= c || a + c <= b || b + c <= a)
				return Type.INVALID;
			else
				return Type.SCALENE;
		if (trian > 3)
			return Type.EQUILATERAL;
		if (trian == 1 && a + b > c)
			return Type.ISOSCELES;
		else if (trian == 2 && a + c > b)
			return Type.ISOSCELES;
		else if (trian == 3 && b + c > a)
			return Type.ISOSCELES;
		return Type.INVALID;
	}
}
+35 −0
Original line number Diff line number Diff line
package triangle;

public class Triangle {
   
    public enum Type {
        INVALID, SCALENE, EQUILATERAL, ISOSCELES
    };
   
    public static Type classify(int a, int b, int c) {
        int trian;
        if (a <= 0 || b <= 0 || c <= 0)
            return Type.INVALID;
            trian = 0;
        if (a == b)
            trian = trian + 1;
        if (a == c)
            trian = trian + 2;
        if (b == a) //inserted bug: should be b == c
            trian = trian + 3;
        if (trian == 0)
            if (a + b <= c || a + c <= b || b + c <= a)
                return Type.INVALID;
            else
                return Type.SCALENE;
        if (trian > 3)
            return Type.EQUILATERAL;
        if (trian == 1 && a + b > c)
            return Type.ISOSCELES;
        else if (trian == 2 && a + c > b)
            return Type.ISOSCELES;
        else if (trian == 3 && b + c > a)
            return Type.ISOSCELES;
        return Type.INVALID;
    }
}
+0 −107
Original line number Diff line number Diff line
package triangle.src.test.java;

import junit.framework.TestCase;
import static triangle.src.main.java.Triangle.Type.*;

public class TestSuite extends TestCase {

   public void test1() {
        assertEquals (triangle.src.main.java.Triangle.classify(0,1301,1), INVALID);
   }
   public void test2() {
        assertEquals (triangle.src.main.java.Triangle.classify(1108,1,1), INVALID);
   }
   public void test3() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,0,-665), INVALID);
   }
   public void test4() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,1,0), INVALID);
   }
   public void test5() {
        assertEquals (triangle.src.main.java.Triangle.classify(582,582,582), EQUILATERAL);
   }
   public void test6() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,1088,15), INVALID);
   }
   public void test7() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,2,450), INVALID);
   }
   public void test8() {
        assertEquals (triangle.src.main.java.Triangle.classify(1663,1088,823), SCALENE);
   }
   public void test9() {
        assertEquals (triangle.src.main.java.Triangle.classify(1187,1146,1), INVALID);
   }
   public void test10() {
        assertEquals (triangle.src.main.java.Triangle.classify(1640,1640,1956), ISOSCELES);
   }
   public void test11() {
        assertEquals (triangle.src.main.java.Triangle.classify(784,784,1956), INVALID);
   }
   public void test12() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,450,1), INVALID);
   }
   public void test13() {
        assertEquals (triangle.src.main.java.Triangle.classify(1146,1,1146), ISOSCELES);
   }
   public void test14() {
        assertEquals (triangle.src.main.java.Triangle.classify(1640,1956,1956), ISOSCELES);
   }
   public void test15() {
        assertEquals (triangle.src.main.java.Triangle.classify(-1,1,1), INVALID);
   }
   public void test16() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,-1,1), INVALID);
   }
   public void test17() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,2,3), INVALID);
   }
   public void test18() {
        assertEquals (triangle.src.main.java.Triangle.classify(2,3,1), INVALID);
   }
   public void test19() {
        assertEquals (triangle.src.main.java.Triangle.classify(3,1,2), INVALID);
   }
   public void test20() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,1,2), INVALID);
   }
   public void test21() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,2,1), INVALID);
   }
   public void test22() {
        assertEquals (triangle.src.main.java.Triangle.classify(2,1,1), INVALID);
   }
   public void test23() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,1,1), EQUILATERAL);
   }
   public void test24() {
        assertEquals (triangle.src.main.java.Triangle.classify(0,1,1), INVALID);
   }
   public void test25() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,0,1), INVALID);
   }
   public void test26() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,2,-1), INVALID);
   }
   public void test27() {
        assertEquals (triangle.src.main.java.Triangle.classify(1,1,-1), INVALID);
   }
   public void test28() {
        assertEquals (triangle.src.main.java.Triangle.classify(0,0,0), INVALID);
   }
   public void test29() {
        assertEquals (triangle.src.main.java.Triangle.classify(3,2,5), INVALID);
   }
   public void test30() {
        assertEquals (triangle.src.main.java.Triangle.classify(5,9,2), INVALID);
   }
   public void test31() {
        assertEquals (triangle.src.main.java.Triangle.classify(7,4,3), INVALID);
   }
   public void test32() {
        assertEquals (triangle.src.main.java.Triangle.classify(3,8,3), INVALID);
   }
   public void test33() {
        assertEquals (triangle.src.main.java.Triangle.classify(7,3,3), INVALID);
   }
}
+107 −0
Original line number Diff line number Diff line
package triangle;

import junit.framework.TestCase;
import static triangle.Triangle.Type.*;

public class TestSuite extends TestCase {

   public void test1() {
        assertEquals (triangle.Triangle.classify(0,1301,1), INVALID);
   }
   public void test2() {
        assertEquals (triangle.Triangle.classify(1108,1,1), INVALID);
   }
   public void test3() {
        assertEquals (triangle.Triangle.classify(1,0,-665), INVALID);
   }
   public void test4() {
        assertEquals (triangle.Triangle.classify(1,1,0), INVALID);
   }
   public void test5() {
        assertEquals (triangle.Triangle.classify(582,582,582), EQUILATERAL);
   }
   public void test6() {
        assertEquals (triangle.Triangle.classify(1,1088,15), INVALID);
   }
   public void test7() {
        assertEquals (triangle.Triangle.classify(1,2,450), INVALID);
   }
   public void test8() {
        assertEquals (triangle.Triangle.classify(1663,1088,823), SCALENE);
   }
   public void test9() {
        assertEquals (triangle.Triangle.classify(1187,1146,1), INVALID);
   }
   public void test10() {
        assertEquals (triangle.Triangle.classify(1640,1640,1956), ISOSCELES);
   }
   public void test11() {
        assertEquals (triangle.Triangle.classify(784,784,1956), INVALID);
   }
   public void test12() {
        assertEquals (triangle.Triangle.classify(1,450,1), INVALID);
   }
   public void test13() {
        assertEquals (triangle.Triangle.classify(1146,1,1146), ISOSCELES);
   }
   public void test14() {
        assertEquals (triangle.Triangle.classify(1640,1956,1956), ISOSCELES);
   }
   public void test15() {
        assertEquals (triangle.Triangle.classify(-1,1,1), INVALID);
   }
   public void test16() {
        assertEquals (triangle.Triangle.classify(1,-1,1), INVALID);
   }
   public void test17() {
        assertEquals (triangle.Triangle.classify(1,2,3), INVALID);
   }
   public void test18() {
        assertEquals (triangle.Triangle.classify(2,3,1), INVALID);
   }
   public void test19() {
        assertEquals (triangle.Triangle.classify(3,1,2), INVALID);
   }
   public void test20() {
        assertEquals (triangle.Triangle.classify(1,1,2), INVALID);
   }
   public void test21() {
        assertEquals (triangle.Triangle.classify(1,2,1), INVALID);
   }
   public void test22() {
        assertEquals (triangle.Triangle.classify(2,1,1), INVALID);
   }
   public void test23() {
        assertEquals (triangle.Triangle.classify(1,1,1), EQUILATERAL);
   }
   public void test24() {
        assertEquals (triangle.Triangle.classify(0,1,1), INVALID);
   }
   public void test25() {
        assertEquals (triangle.Triangle.classify(1,0,1), INVALID);
   }
   public void test26() {
        assertEquals (triangle.Triangle.classify(1,2,-1), INVALID);
   }
   public void test27() {
        assertEquals (triangle.Triangle.classify(1,1,-1), INVALID);
   }
   public void test28() {
        assertEquals (triangle.Triangle.classify(0,0,0), INVALID);
   }
   public void test29() {
        assertEquals (triangle.Triangle.classify(3,2,5), INVALID);
   }
   public void test30() {
        assertEquals (triangle.Triangle.classify(5,9,2), INVALID);
   }
   public void test31() {
        assertEquals (triangle.Triangle.classify(7,4,3), INVALID);
   }
   public void test32() {
        assertEquals (triangle.Triangle.classify(3,8,3), INVALID);
   }
   public void test33() {
        assertEquals (triangle.Triangle.classify(7,3,3), INVALID);
   }
}