package edu.berkeley.cs.nlp.ocular.data.textreader; import static org.junit.Assert.assertEquals; import static edu.berkeley.cs.nlp.ocular.data.textreader.Charset.*; import java.util.Arrays; import java.util.List; import org.junit.Test; /** * @author Dan Garrette (dhgarrette@gmail.com) */ public class ConvertLongSTextReaderTests { private String s1 = "ing th\\~q || | follies of thõsè, who éither ``sæek'' out th\\\"os\\`e wæys \"and\" means, which either are sq̃uccess confession asi \\\\lessons"; @Test public void test_readCharacters() { TextReader tr = new ConvertLongSTextReader(new BasicTextReader()); assertEquals(Arrays.asList("t", "h", "o" + TILDE_COMBINING, "ſ", "e" + GRAVE_COMBINING), tr.readCharacters("thõsè")); assertEquals(Arrays.asList("ſ", "i"), tr.readCharacters("si")); assertEquals(Arrays.asList("ſ", "i", "n"), tr.readCharacters("sin")); assertEquals(Arrays.asList("a", "ſ", "i"), tr.readCharacters("asi")); assertEquals(Arrays.asList("ſ", "s", "i"), tr.readCharacters("ssi")); assertEquals(Arrays.asList("a", "ſ", "s", "i"), tr.readCharacters("assi")); assertEquals(Arrays.asList("ſ", "s", "i", "n"), tr.readCharacters("ssin")); assertEquals(Arrays.asList("a", "ſ", "s", "i", "n"), tr.readCharacters("assin")); List<String> r = Arrays.asList("i", "n", "g", " ", "t", "h", "q" + TILDE_COMBINING, " ", "|", "|", " ", "|", " ", "f", "o", "l", "l", "i", "e", "s", " ", "o", "f", " ", "t", "h", "o" + TILDE_COMBINING, "ſ", "e" + GRAVE_COMBINING, ",", " ", "w", "h", "o", " ", "e" + ACUTE_COMBINING, "i", "t", "h", "e", "r", " ", "\"", "ſ", "æ", "e", "k", "\"", " ", "o", "u", "t", " ", "t", "h", "o" + DIAERESIS_COMBINING, "ſ", "e" + GRAVE_COMBINING, " ", "w", "æ", "y", "s", " ", "\"", "a", "n", "d", "\"", " ", "m", "e", "a", "n", "s", ",", " ", "w", "h", "i", "c", "h", " ", "e", "i", "t", "h", "e", "r", " ", "a", "r", "e", " ", "ſ", "q" + TILDE_COMBINING, "u", "c", "c", "e", "ſ", "s", " ", "c", "o", "n", "f", "e", "ſ", "s", "i", "o", "n", " ", "a", "ſ", "i", " ", "\\\\", "l", "e", "ſ", "ſ", "o", "n", "s"); assertEquals(r, tr.readCharacters(s1)); } @Test public void test_readCharacters_removeDia() { TextReader tr = new ConvertLongSTextReader(new RemoveAllDiacriticsTextReader(new BasicTextReader())); List<String> r = Arrays.asList("i", "n", "g", " ", "t", "h", "q", " ", "|", "|", " ", "|", " ", "f", "o", "l", "l", "i", "e", "s", " ", "o", "f", " ", "t", "h", "o", "ſ", "e", ",", " ", "w", "h", "o", " ", "e", "i", "t", "h", "e", "r", " ", "\"", "ſ", "æ", "e", "k", "\"", " ", "o", "u", "t", " ", "t", "h", "o", "ſ", "e", " ", "w", "æ", "y", "s", " ", "\"", "a", "n", "d", "\"", " ", "m", "e", "a", "n", "s", ",", " ", "w", "h", "i", "c", "h", " ", "e", "i", "t", "h", "e", "r", " ", "a", "r", "e", " ", "ſ", "q", "u", "c", "c", "e", "ſ", "s", " ", "c", "o", "n", "f", "e", "ſ", "s", "i", "o", "n", " ", "a", "ſ", "i", " ", "\\\\", "l", "e", "ſ", "ſ", "o", "n", "s"); assertEquals(r, tr.readCharacters(s1)); } }