📄 lineparsertest.java
字号:
package com.aliasi.test.unit.corpus;import com.aliasi.corpus.ObjectHandler;import com.aliasi.corpus.LineParser;import com.aliasi.corpus.Parser;import com.aliasi.test.unit.BaseTestCase;import java.io.ByteArrayInputStream;import java.io.CharArrayReader;import java.io.IOException;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import org.xml.sax.InputSource;public class LineParserTest extends BaseTestCase { static final String[] DOCS = new String[] { "", "\n", "\n\n", "abc", "abc\n", "abc\rdef", "\nabc\rdef\r\n\n", }; static final String[][] EXPECTED_LINES = new String[][] { { }, { "" }, { "", "" }, { "abc" }, { "abc" }, { "abc", "def" }, { "", "abc", "def", "" } }; // public void test0() { // assertEquals(Arrays.asList(new String[] { "ab", "", "c", "", "" }), // Arrays.asList("ab::c:::::::".split(":"))); // } public void test1() throws IOException { IdParser parser = new IdParser(); Collector<String> collector = new Collector<String>(); parser.setHandler(collector); for (int i = 0; i < DOCS.length; ++i) { String input = DOCS[i]; char[] cs = input.toCharArray(); List<String> lineList = Arrays.<String>asList(EXPECTED_LINES[i]); collector.clear(); CharArrayReader reader = new CharArrayReader(cs); InputSource in = new InputSource(reader); parser.parse(in); assertEquals(lineList, collector.result()); collector.clear(); parser.parseString(cs,0,cs.length); assertEquals(lineList, collector.result()); } } public class IdParser extends LineParser<ObjectHandler<String>> { public void parseLine(String line, int number) { getHandler().handle(line); } } public class Collector<E> implements ObjectHandler<E> { List<E> mCollector = new ArrayList<E>(); public void handle(E e) { mCollector.add(e); } public List<E> result() { return mCollector; } public void clear() { mCollector.clear(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -