|
|
AlgorithmTests
ContainsTriangleTests.java
package student.algorithms.tests;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
import cusack.hcg.database.PlayablePuzzle;
import cusack.hcg.graph.algorithm.standard.tests.DataSourceAbstractTest;
import cusack.hcg.model.PuzzleInstance;
import cusack.hcg.model.PuzzleInstanceFactory;
//import my.algorithms.ContainsTriangle;
import student.algorithms.ContainsTriangle;
public class ContainsTriangleTests extends DataSourceAbstractTest {
public ContainsTriangleTests() {
super();
}
@Test
public void testC4() {
testPebblingNumbers(659, "false");
}
@Test
public void testPeterson() {
testPebblingNumbers(682, "false");
}
@Test
public void testRalphie() {
testPebblingNumbers(641, "false");
}
@Test
public void testForTriangles() {
testPebblingNumbers(1476, "true");
}
@Test
public void testC3() {
testPebblingNumbers(1235, "true");
}
@Test
public void testKemel() {
testPebblingNumbers(124, "true");
}
@Test
public void testLemkexP2() {
testPebblingNumbers(1349, "true");
}
@Test
public void testUBull() {
testPebblingNumbers(1240, "true");
}
@Test
public void testK5() {
testPebblingNumbers(677, "true");
}
@Test
public void testU_K3_4() {
testPebblingNumbers(1254, "false");
}
@Test
public void test_QM_Lemke() {
testPebblingNumbers(1412, "true");
}
@Test
public void testMaybeNot() {
testPebblingNumbers(121, "true");
}
@Test
public void testPowerz() {
testPebblingNumbers(1335, "true");
}
@Test
public void test6DudesAndFriend() {
testPebblingNumbers(139, "true");
}
@Test
public void testTestingTriangles1() {
testPebblingNumbers(1470, "true");
}
@Test
public void testTestingTriangles2() {
testPebblingNumbers(1471, "true");
}
@Test
public void testTestingTriangles3() {
testPebblingNumbers(1472, "true");
}
@Test
public void testTestingTriangles4() {
testPebblingNumbers(1473, "true");
}
@Test
public void testTestingTriangles5() {
testPebblingNumbers(1474, "true");
}
@Test
public void testTestingTriangles6() {
testPebblingNumbers(1475, "false");
}
@Test
public void testSmallOnes() {
testPebblingNumbers(131, "true");
}
@Test
public void testHypercube() {
testPebblingNumbers(108, "false");
}
@Test
public void testRedundaTree() {
testPebblingNumbers(110, "false");
}
@Test
public void testUpOrDown() {
testPebblingNumbers(115, "false");
}
@Test
public void testLemekMekel() {
testPebblingNumbers(127, "true");
}
@Test
public void testBalaban() {
testPebblingNumbers(647, "false");
}
@Test
public void testCrossoverXOTGadget() {
testPebblingNumbers(1149, "false");
}
@Test
public void testCactusTrickyMerge() {
testPebblingNumbers(722, "true");
}
@Test
public void test3SATThingy_Version2() {
testPebblingNumbers(1171, "false");
}
@Test
public void testWebOfLies3() {
testPebblingNumbers(249, "true");
}
// Helper method.
private void testPebblingNumbers(int puzzle_id, String expectedResult) {
System.out.println("------------------------------");
PlayablePuzzle pp = ds.getPuzzle(puzzle_id);
PuzzleInstance pi = PuzzleInstanceFactory.createPuzzleInstance(pp);
System.out.print("Running on ");
String name = pi.getPuzzleInstanceName();
name = name.substring(name.lastIndexOf(".") + 1);
System.out.print(name);
System.out.print(" : ");
System.out.print(pp.getName());
System.out.print(" (ID ");
System.out.print(puzzle_id);
System.out.println(")");
ContainsTriangle algorithm = new ContainsTriangle();
algorithm.setProblemData(pi);
long start = System.nanoTime();
algorithm.runAlgorithm();
long end = System.nanoTime();
elapsedTime += (end - start);
assertEquals(expectedResult.trim(), algorithm.getResult().trim());
System.out.println(" Test passed!");
System.out.println(" time: " + (end - start) / 1000000 + " milliseconds");
}
}
|