Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phil #1

Open
wants to merge 12 commits into
base: master
Choose a base branch
from
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
triangle/coverage_results
triangle/mutation_results
triangle/bin
/triangle/cobertura.ser
.classpath
.project
Binary file not shown.
Binary file added triangle/.instrumented/triangle/Triangle.class
Binary file not shown.
10 changes: 10 additions & 0 deletions triangle/killed_working_log.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
MutantNo,[FAIL | TIME | EXC | LIVE],Status
11,LIVE,Undetectable
59,LIVE,Undetectable
76,LIVE,Undetectable
87,LIVE,Undetectable
101,LIVE,Undetectable
111,LIVE,Undetectable
128,LIVE,Undetectable
136,LIVE,Undetectable
145,LIVE,Undetectable
49 changes: 49 additions & 0 deletions triangle/test/triangle/TriangleTestBranch.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package triangle;

import static org.junit.Assert.*;
import static triangle.Triangle.Type;
import static triangle.Triangle.Type.*;

import org.junit.Test;

public class TriangleTestBranch extends TriangleTestLine{
@Test
public void testInit() {
super.testInit();
}

@Test
public void testNegativeDimensions() {
super.testNegativeDimensions();
Type actual2 = Triangle.classify(1, -1, 1);
Type actual3 = Triangle.classify(1, 1, -1);
Type expected = INVALID;
assertEquals(actual2, expected);
assertEquals(actual3, expected);
}

@Test
public void testScalene() {
super.testScalene();
Type actual3 = Triangle.classify(4, 1, 2);
Type actual4 = Triangle.classify(2, 4, 1);
Type expected = INVALID;
assertEquals(actual3, expected);
assertEquals(actual4, expected);
}

@Test
public void testIsosceles() {
super.testIsosceles();
Type actual5 = Triangle.classify(3, 1, 1);
Type actual6 = Triangle.classify(1, 3, 1);
Type expected = INVALID;
assertEquals(actual5, expected);
assertEquals(actual6, expected);
}

@Test
public void testEquilateral() {
super.testInit();
}
}
61 changes: 61 additions & 0 deletions triangle/test/triangle/TriangleTestLine.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package triangle;

import org.junit.Test;
import static org.junit.Assert.*;

import static triangle.Triangle.Type;
import static triangle.Triangle.Type.*;

/**
* Test class for the Line component.
*/
public class TriangleTestLine {

@Test
public void testInit() {
Triangle t = new Triangle();
assertEquals(t.classify(1, 1, 1), EQUILATERAL);
}

@Test
public void testNegativeDimensions() {
Type actual = Triangle.classify(-1, -1, -1);
Type expected = INVALID;
assertEquals(actual, expected);
}

@Test
public void testScalene() {
// valid scalene
Type actual1 = Triangle.classify(3, 4, 5);
Type expected = SCALENE;
assertEquals(actual1, expected);
// invalid scalene
Type actual2 = Triangle.classify(1, 2, 4);
expected = INVALID;
assertEquals(actual2, expected);
}

@Test
public void testIsosceles() {
// valid isosceles
Type actual1 = Triangle.classify(3, 3, 5);
Type actual2 = Triangle.classify(3, 5, 3);
Type actual3 = Triangle.classify(5, 3, 3);
Type expected = ISOSCELES;
assertEquals(actual1, expected);
assertEquals(actual2, expected);
assertEquals(actual3, expected);
// invalid isosceles
Type actual4 = Triangle.classify(1, 1, 3);
expected = INVALID;
assertEquals(actual4, expected);
}

@Test
public void testEquilateral() {
Type actual = Triangle.classify(5, 5, 5);
Type expected = EQUILATERAL;
assertEquals(actual, expected);
}
}
63 changes: 63 additions & 0 deletions triangle/test/triangle/TriangleTestMutant.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package triangle;

import static org.junit.Assert.*;
import static triangle.Triangle.Type;
import static triangle.Triangle.Type.*;

import org.junit.Test;

public class TriangleTestMutant extends TriangleTestBranch {

public void testNegativeDimensions() {
super.testNegativeDimensions();
Type actual4 = Triangle.classify(-1, 1, 1);
Type expected = INVALID;
assertEquals(actual4, expected);
}

@Test
public void testZeroDimensions() {
Type actual1 = Triangle.classify(0, 1, 1);
Type actual2 = Triangle.classify(1, 0, 1);
Type actual3 = Triangle.classify(1, 1, 0);

Type expected = INVALID;
assertEquals(actual1, expected);
assertEquals(actual2, expected);
assertEquals(actual3, expected);
}

@Test
public void testScalene() {
super.testScalene();
Type actual5 = Triangle.classify(2, 3, 5);
Type actual6 = Triangle.classify(2, 5, 3);
Type actual7 = Triangle.classify(7, 2, 4);
Type actual8 = Triangle.classify(5, 2, 3);

Type expected = INVALID;

assertEquals(actual5, expected);
assertEquals(actual6, expected);
assertEquals(actual7, expected);
assertEquals(actual8, expected);

Type actual9 = Triangle.classify(6, 4, 3);
expected = SCALENE;

assertEquals(actual9, expected);
}

@Test
public void testIsosceles() {
super.testIsosceles();
Type actual7 = Triangle.classify(3, 3, 6);
Type actual8 = Triangle.classify(6, 3, 3);
Type actual9 = Triangle.classify(3, 6, 3);
Type expected = INVALID;
assertEquals(actual7, expected);
assertEquals(actual8, expected);
assertEquals(actual9, expected);
}

}