package jhazm.test.reader;
import edu.stanford.nlp.ling.TaggedWord;
import jhazm.reader.PeykareReader;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.assertEquals;
/**
* Created by Mojtaba on 30/10/2015.
*/
public class PeykareReaderTest {
@Test
public void coarsePOSTest() {
List<String> input = Arrays.asList(new String[]{ "N", "COM", "SING" });
String expected = "N";
String actual = PeykareReader.coarsePOS(input);
assertEquals("Failed to find coarse pos.", expected, actual);
}
@Test
public void joinVerbPartsTest() {
List<TaggedWord> input = Arrays.asList(new TaggedWord[] {
new TaggedWord("اولین", "AJ"),
new TaggedWord("سیاره", "Ne"),
new TaggedWord("", "AJ"),
new TaggedWord("از", "P"),
new TaggedWord("منظومه", "Ne"),
new TaggedWord("شمسی", "AJ"),
new TaggedWord("دیده", "AJ"),
new TaggedWord("شد", "V"),
new TaggedWord(".", "PUNC")
});
List<TaggedWord> expected = Arrays.asList(new TaggedWord[] {
new TaggedWord("اولین", "AJ"),
new TaggedWord("سیاره", "Ne"),
new TaggedWord("خارج", "AJ"),
new TaggedWord("از", "P"),
new TaggedWord("منظومه", "Ne"),
new TaggedWord("شمسی", "AJ"),
new TaggedWord("دیده شد", "V"),
new TaggedWord(".", "PUNC")
});
List<TaggedWord> actual = PeykareReader.joinVerbParts(input);
assertEquals("Failed to join verb parts of sentence", expected.size(), actual.size());
for (int i = 0; i < expected.size(); i++)
{
TaggedWord actualTaggedWord = actual.get(i);
TaggedWord expectedTaggedWord = expected.get(i);
if (!actualTaggedWord.tag().equals(expectedTaggedWord.tag()))
assertEquals("Failed to join verb parts of sentence", expectedTaggedWord, actualTaggedWord);
}
}
}