// This product is provided under the terms of EPL (Eclipse Public License) // version 1.0. // // The full license text can be read from: http://www.eclipse.org/org/documents/epl-v10.php package org.dtangler.ui.dsm.impl; import static org.junit.Assert.assertEquals; import java.util.Arrays; import org.junit.Test; public class ShortenedNameFormatterTest { @Test public void testSingleItem() { String item = "foo.bar"; assertEquals("foo.bar", new ShortenedNameFormatter(Arrays.asList(item)) .format(item)); } @Test public void testMultipleItemsWithDifferentPrefix() { String item1 = "foo.bar"; String item2 = "bar.foo"; Formatter formatter = new ShortenedNameFormatter(Arrays.asList(item1, item2)); assertEquals("foo.bar", formatter.format(item1)); assertEquals("bar.foo", formatter.format(item2)); } @Test public void testMultipleItemsWithEqualPrefix() { String item1 = "foo.bar"; String item2 = "foo.oof"; Formatter formatter = new ShortenedNameFormatter(Arrays.asList(item1, item2)); assertEquals("bar", formatter.format(item1)); assertEquals("oof", formatter.format(item2)); } @Test public void testRoot() { String item1 = "foo.bar.bay"; String item2 = "foo.bar"; Formatter formatter = new ShortenedNameFormatter(Arrays.asList(item1, item2)); assertEquals("bar.bay", formatter.format(item1)); assertEquals("bar", formatter.format(item2)); } @Test public void testMultipleItemsWithEqualPrefixFragment() { String item1 = "foa.bar"; String item2 = "fob.oof"; Formatter formatter = new ShortenedNameFormatter(Arrays.asList(item1, item2)); assertEquals("foa.bar", formatter.format(item1)); assertEquals("fob.oof", formatter.format(item2)); } @Test public void testMultipleItemsWithEqualPostFix() { String item1 = "abc.bar"; String item2 = "def.bar"; Formatter formatter = new ShortenedNameFormatter(Arrays.asList(item1, item2)); assertEquals("abc", formatter.format(item1)); assertEquals("def", formatter.format(item2)); } @Test public void testMultipleItemsWithEqualPreAndPostFixes() { String item1 = "abc.foo.def.ghi"; String item2 = "abc.bar.bay.def.ghi"; Formatter formatter = new ShortenedNameFormatter(Arrays.asList(item1, item2)); assertEquals("foo", formatter.format(item1)); assertEquals("bar.bay", formatter.format(item2)); } @Test public void testMultipleItemsWithEqualPreAndPostFixesWithOneUnmatched() { String item1 = "abc.foo.def.ghi"; String item2 = "abc.bar.bay.def.ghi"; String item3 = "Xbc.bar.bay.def.ghZ"; Formatter formatter = new ShortenedNameFormatter(Arrays.asList(item1, item2, item3)); assertEquals("abc.foo.def.ghi", formatter.format(item1)); assertEquals("abc.bar.bay.def.ghi", formatter.format(item2)); assertEquals("Xbc.bar.bay.def.ghZ", formatter.format(item3)); } @Test public void testEmpty() { Formatter formatter = new ShortenedNameFormatter(Arrays.asList("aa", "bb", "")); assertEquals("", formatter.format("")); } }