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; /** * {@link WordReplace}のテスタ * * @since 2.0 * @author T.TSUCHIE * */ public class WordReplaceTest { private WordReplace processor; private WordReplace processorChain; private final CharReplacer replacer = new CharReplacer(); { replacer.register("下さい", "ください"); replacer.register("御願い", "お願い"); replacer.ready(); } @Before public void setUp() throws Exception { this.processor = new WordReplace(replacer); this.processorChain = new WordReplace(replacer, new NextCellProcessor()); } @Test(expected=NullPointerException.class) public void testConstructor_replacerNull() { new WordReplace(null); fail(); } @Test public void testExecute_inputNull() { assertThat((Object)processor.execute(null, ANONYMOUS_CSVCONTEXT)).isNull(); } @Test public void testExecute_inputEmpty() { assertThat((Object)processor.execute("", ANONYMOUS_CSVCONTEXT)).isEqualTo(""); } @Test public void testExecute_match() { String input = "送信をして下さい。御願い致します。"; String expected = "送信をしてください。お願い致します。"; assertThat((Object)processor.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); assertThat((Object)processorChain.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); } @Test public void testExecute_no_match() { String input = "こんにちは"; String expected = "こんにちは"; assertThat((Object)processor.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); assertThat((Object)processorChain.execute(input, ANONYMOUS_CSVCONTEXT)).isEqualTo(expected); } }