import junit.framework.TestCase; import java.util.*; public class AppearancesTest extends TestCase { // utility -- converts a string to a list with one // elem for each char. 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 testSameCount1() { List<String> a = stringToList("abbccc"); List<String> b = stringToList("cccbba"); assertEquals(3, Appearances.sameCount(a, b)); } public void testSameCount2() { // basic List<Integer> cases List<Integer> a = Arrays.asList(1, 2, 3, 1, 2, 3, 5); assertEquals(1, Appearances.sameCount(a, Arrays.asList(1, 9, 9, 1))); assertEquals(2, Appearances.sameCount(a, Arrays.asList(1, 3, 3, 1))); assertEquals(1, Appearances.sameCount(a, Arrays.asList(1, 3, 3, 1, 1))); } public void testSameCount3() { List<Integer> a = Arrays.asList(3, 4, 5, 5); assertEquals(0, Appearances.sameCount(a, Arrays.asList(7, 8, 9, 5))); } }