import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import java.util.Arrays; import java.util.List; public class SimpleTest { private static Superstring superstring; @BeforeClass public static void init() { superstring = new GreedySuperstring(); } @Test public void test1() { List stringLijst = Arrays.asList( "GTATTG", "GATT", "AATTGC", "ATTGAT", "TGCGT", "TTGA" ); String antw = superstring.shortest(stringLijst); alleStringsAanwezig(antw, stringLijst); Assert.assertTrue("Je uitkomst \"" + antw + "\" bestaat uit " + antw.length() + " karakters, probeer dit te verminderen.", antw.length() < 31); } @Test public void test2() { List stringLijst = Arrays.asList( "abcbcbcb", "cbcbcbc", "bcbcbcbd", "cb", "d" ); String antw = superstring.shortest(stringLijst); alleStringsAanwezig(antw, stringLijst); Assert.assertTrue("Je uitkomst \"" + antw + "\" bestaat uit " + antw.length() + " karakters, probeer dit te verminderen.", antw.length() < 26); } @Test public void testInner() { List stringLijst = Arrays.asList( "ATTGAT", "TTGA" ); String antw = superstring.shortest(stringLijst); alleStringsAanwezig(antw, stringLijst); Assert.assertEquals("ATTGAT", antw); } @Test public void testOuter() { List stringLijst = Arrays.asList( "GTAAT", "TGTAATGAT" ); String antw = superstring.shortest(stringLijst); alleStringsAanwezig(antw, stringLijst); Assert.assertEquals("TGTAATGAT", antw); } @Test public void testEqual() { List stringLijst = Arrays.asList( "ABC", "ABC" ); String antw = superstring.shortest(stringLijst); alleStringsAanwezig(antw, stringLijst); Assert.assertEquals("ABC", antw); } @Test public void testNoOverlap() { List stringLijst = Arrays.asList( "ABC", "DEF", "GHI" ); String antw = superstring.shortest(stringLijst); alleStringsAanwezig(antw, stringLijst); Assert.assertEquals(9, antw.length()); } public void alleStringsAanwezig(String antw, List inputLijst) { boolean aanwezig = true; int i = 0; while(aanwezig && i < inputLijst.size()) { aanwezig = antw.contains(inputLijst.get(i)); i++; } Assert.assertTrue("Je superstring \"" + antw + "\" bevat de string \"" + inputLijst.get(i-1) + "\" niet!", aanwezig); } }