package tests.net.sf.jabref.export.layout.format; import junit.framework.TestCase; import net.sf.jabref.export.layout.LayoutFormatter; import net.sf.jabref.export.layout.format.AuthorOrgSci; import net.sf.jabref.export.layout.format.CompositeFormat; import net.sf.jabref.export.layout.format.NoSpaceBetweenAbbreviations; public class CompositeFormatTest extends TestCase { protected void setUp() throws Exception { super.setUp(); } protected void tearDown() throws Exception { super.tearDown(); } public void testComposite() { { LayoutFormatter f = new CompositeFormat(); assertEquals("No Change", f.format("No Change")); } { LayoutFormatter f = new CompositeFormat(new LayoutFormatter[]{new LayoutFormatter(){ public String format(String fieldText) { return fieldText + fieldText; } }, new LayoutFormatter(){ public String format(String fieldText) { return "A" + fieldText; } }, new LayoutFormatter(){ public String format(String fieldText) { return "B" + fieldText; } }}); assertEquals("BAff", f.format("f")); } { LayoutFormatter f = new CompositeFormat(new AuthorOrgSci(), new NoSpaceBetweenAbbreviations()); LayoutFormatter first = new AuthorOrgSci(); LayoutFormatter second = new NoSpaceBetweenAbbreviations(); assertEquals(second.format(first.format("John Flynn and Sabine Gartska")), f.format("John Flynn and Sabine Gartska")); assertEquals(second.format(first.format("Sa Makridakis and Sa Ca Wheelwright and Va Ea McGee")), f.format("Sa Makridakis and Sa Ca Wheelwright and Va Ea McGee")); } } }