package net.varkhan.base.management.util; import junit.framework.TestCase; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class PrefixTest extends TestCase { public void testEnumeratePrefixesAsc() throws Exception { List<String> pfx = new ArrayList<String>(); pfx.clear(); for(String p: Prefix.enumeratePrefixesAsc('.', "")) { pfx.add(p); } assertEquals(Arrays.asList(""),pfx); pfx.clear(); for(String p: Prefix.enumeratePrefixesAsc('.', "foo")) { pfx.add(p); } assertEquals(Arrays.asList("foo",""),pfx); pfx.clear(); for(String p: Prefix.enumeratePrefixesAsc('.', ".foo")) { pfx.add(p); } assertEquals(Arrays.asList(".foo",""),pfx); pfx.clear(); for(String p: Prefix.enumeratePrefixesAsc('.', "foo.")) { pfx.add(p); } assertEquals(Arrays.asList("foo.","foo",""),pfx); pfx.clear(); for(String p: Prefix.enumeratePrefixesAsc('.', "foo..bar.baz")) { pfx.add(p); } assertEquals(Arrays.asList("foo..bar.baz","foo..bar","foo.","foo",""),pfx); } public void testEnumeratePrefixesDes() throws Exception { List<String> pfx = new ArrayList<String>(); pfx.clear(); for(String p: Prefix.enumeratePrefixesDes('.', "")) { pfx.add(p); } assertEquals(Arrays.asList(""),pfx); pfx.clear(); for(String p: Prefix.enumeratePrefixesDes('.', "foo")) { pfx.add(p); } assertEquals(Arrays.asList("","foo"),pfx); pfx.clear(); for(String p: Prefix.enumeratePrefixesDes('.', ".foo")) { pfx.add(p); } assertEquals(Arrays.asList("",".foo"),pfx); pfx.clear(); for(String p: Prefix.enumeratePrefixesDes('.', "foo.")) { pfx.add(p); } assertEquals(Arrays.asList("","foo","foo."),pfx); pfx.clear(); for(String p: Prefix.enumeratePrefixesDes('.', "foo..bar.baz")) { pfx.add(p); } assertEquals(Arrays.asList("","foo","foo.","foo..bar","foo..bar.baz"),pfx); } }