package com.github.mygreen.supercsv.cellprocessor.conversion; import static org.junit.Assert.*; import static org.assertj.core.api.Assertions.*; import static com.github.mygreen.supercsv.tool.TestUtils.*; import org.junit.Before; import org.junit.Test; import org.supercsv.cellprocessor.ift.CellProcessor; /** * {@link Truncate}のテスタ * * @since 2.0 * @author T.TSUCHIE * */ public class TruncateTest { private static final int MAX_SIZE = 3; private static final String SUFFIX = "..."; private CellProcessor processor; private CellProcessor processorChain; private CellProcessor processorSuffix; private CellProcessor processorSuffixChain; @Before public void setUp() { processor = new Truncate(MAX_SIZE, ""); processorChain = new Truncate(MAX_SIZE, "", new NextCellProcessor()); processorSuffix = new Truncate(MAX_SIZE, SUFFIX); processorSuffixChain = new Truncate(MAX_SIZE, SUFFIX, new NextCellProcessor()); } @Test(expected=IllegalArgumentException.class) public void testConstructor_maxSizeZero() { new Truncate(0, SUFFIX); fail(); } @Test(expected=NullPointerException.class) public void testConstructor_suffixNull() { new Truncate(MAX_SIZE, null); fail(); } @Test(expected=NullPointerException.class) public void testConstructor_nextNull() { new Truncate(MAX_SIZE, SUFFIX, null); fail(); } @Test public void testExecute_inputNull() { { String input = null; String expected = null; assertThat((Object)processor.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); assertThat((Object)processorChain.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); } { String input = null; String expected = null; assertThat((Object)processorSuffix.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); assertThat((Object)processorSuffixChain.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); } } @Test public void testExecute_inputSameAsMax() { { String input = "abc"; String expected = "abc"; assertThat((Object)processor.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); assertThat((Object)processorChain.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); } { String input = "abc"; String expected = "abc"; assertThat((Object)processorSuffix.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); assertThat((Object)processorSuffixChain.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); } } @Test public void testExecute_inputLongerThanMax() { { String input = "abcd"; String expected = "abc"; assertThat((Object)processor.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); assertThat((Object)processorChain.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); } { String input = "abcd"; String expected = "abc..."; assertThat((Object)processorSuffix.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); assertThat((Object)processorSuffixChain.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); } } }