// TabooTest.java // Taboo class tests -- nothing provided. import java.util.*; import junit.framework.TestCase; public class TabooTest extends TestCase { /* * Extracted from AppearancesTest.java */ private List<String> stringToList(String s) { List<String> list = new ArrayList<String>(); for (int i=0; i<s.length(); i++) { list.add(String.valueOf(s.charAt(i))); // note: String.valueOf() converts lots of things to string form } return list; } public void testNoFollow1() { Taboo<String> taboo = new Taboo<String>(stringToList("acabc")); assertEquals(stringToList("cb"), new ArrayList(taboo.noFollow("a"))); assertEquals(Collections.emptySet(), taboo.noFollow("x")); } public void testNoFollow2() { Taboo<String> taboo = new Taboo<String>(stringToList("aaaaa")); assertEquals(stringToList("a"), new ArrayList(taboo.noFollow("a"))); } public void testReduce1() { Taboo<String> taboo = new Taboo<String>(stringToList("acab")); List<String> testList = stringToList("acbxca"); taboo.reduce(testList); System.out.println(testList.size()); assertEquals(stringToList("axc"), testList); } public void testReduce2() { Taboo<String> taboo = new Taboo<String>(stringToList("acab")); List<String> testList = stringToList("cbaxac"); taboo.reduce(testList); System.out.println(testList.size()); assertEquals(stringToList("cbaxa"), testList); } }