package chipmunk.test.segmenter; import java.util.Arrays; import java.util.List; import org.junit.Assert; import org.junit.Test; import chipmunk.segmenter.RulebasedSegmenter; import chipmunk.segmenter.SegmentationReading; import chipmunk.segmenter.Segmenter; import chipmunk.segmenter.TagSet; import chipmunk.segmenter.Word; public class RulebasedSegmenterTest { @Test public void test() { Segmenter segmenter = new RulebasedSegmenter(); test(segmenter, "123abc", Arrays.asList("123", "abc"), Arrays.asList(TagSet.NUMBER, TagSet.ALPHA)); test(segmenter, "123--abc", Arrays.asList("123", "-", "-", "abc"), Arrays.asList(TagSet.NUMBER,TagSet.SPECIAL, TagSet.SPECIAL, TagSet.ALPHA)); test(segmenter, "12c-", Arrays.asList("12", "c", "-"), Arrays.asList(TagSet.NUMBER, TagSet.ALPHA, TagSet.SPECIAL)); } private void test(Segmenter segmenter, String string, List<String> segments, List<String> tags) { SegmentationReading reading = segmenter.segment(new Word(string)); Assert.assertEquals(reading.getSegments(), segments); Assert.assertEquals(reading.getTags(), tags); } }