コード例 #1
0
 @Test
 public void stemChange() {
   Tester tester = new Tester("demek [A:StemChange]", "yemek [A:StemChange]");
   tester.assertHasParses(
       "ye", "de", "yeme", "deme", "yiyor", "diyor", "yemiyor", "demiyor", "yedi", "dedi");
   tester.assertUnParseable("yi", "di", "yime", "dime", "yeyor", "deyor", "yemeyor");
 }
コード例 #2
0
 @Test
 public void testPast() {
   Tester tester = new Tester("aramak", "gitmek [A:Voicing, Aorist_A]");
   tester.assertHasParses(
       "aradı", "gitti", "gittik", "gittiyse", "gittim", "gittiniz", "gittiydim");
   tester.assertUnParseable("gittiz", "gittimiş");
 }
コード例 #3
0
 @Test
 public void testCausative() {
   Tester tester = new Tester("yapmak", "aramak");
   tester.assertHasParses("yaptırttır", "yaptır", "yaptırt", "arat", "arattır", "arattırt");
   tester.assertHasParses("yaptırarak", "yaptırtarak", "yaptırtmayacak");
   tester.assertUnParseable("yapt", "aratt");
 }
コード例 #4
0
 @Test
 public void testAorist() {
   Tester tester =
       new Tester("aramak", "gitmek [A:Voicing, Aorist_A]", "gelmek [A:NonTransitive, Aorist_I]");
   tester.assertHasParses("arar", "ararsa", "gider", "gelir", "aramaz");
   tester.assertHasParses("ararlar", "ararlarsa", "ararsalar");
   tester.assertUnParseable("geler", "gidir");
 }
コード例 #5
0
 @Test
 public void testDim() {
   // Noun-Noun
   Tester tester = new Tester("armut");
   tester.assertHasParses("armutçuk", "armutçuğu", "armutcağız", "armutcağızı");
   tester.assertUnParseable("armutçuğ", "armutçukcuk", "armutçukcağız", "armutcağızcık");
   // TODO: check oflazer parse "babacım = baba+Noun+A3sg+Pnon+Nom^DB+Noun+Dim+A3sg+P1sg+Nom
 }
コード例 #6
0
 @Test
 public void testRelated() {
   // Noun-Adj
   Tester tester = new Tester("elma");
   tester.assertHasParses("elmadaki", "elmadakini");
   tester.assertHasParses("elmanınki", "elmanınkinde", "elmanınkinden");
   tester.assertUnParseable("elmaki", "elmayaki", "elmadakiki");
   // TODO: add akşamki etc. uses Rel_kI instead of Rel_ki
 }
コード例 #7
0
 @Test
 public void testPassive() {
   // Noun-Noun
   Tester tester = new Tester("yapmak", "aramak", "gelmek");
   tester.assertHasParses("aranıl", "yapıl", "aran", "gelin", "gelinil");
   tester.assertUnParseable("aral", "gelil", "kavurul", "kavurunul");
   // causative and passive
   tester.assertHasParses(
       "yaptırıl", "yaptırtıl", "yaptırttırıl", "aratıl", "arattırıl", "arattırtıl");
 }
コード例 #8
0
 // TODO:  "zeytinyağlılarım" gives two identical parse result.
 @Test
 public void testCompounds() {
   Tester tester = new Tester("zeytinyağı [A:CompoundP3sg ;R:zeytinyağ]");
   tester.assertHasParses(
       "zeytinyağcık",
       "zeytinyağım",
       "zeytinyağına",
       "zeytinyağlılar",
       "zeytinyağlılarım",
       "zeytinyağı",
       "zeytinyağcığa",
       "zeytinyağlarım");
   tester.assertUnParseable("zeytinyağılar", "zeytinyağıcık");
 }
コード例 #9
0
 @Test
 public void testNess() {
   Tester tester = new Tester("elma", "mavi [P:Adj]");
   tester.assertHasParses(
       "elmacıktı",
       "elmalık",
       "elmalığı",
       "elmalıktı",
       "elmalığa",
       "mavilik",
       "maviliği",
       "mavilikti");
   tester.assertUnParseable("elmalıka", "maviliki");
 }
コード例 #10
0
 @Test
 public void verbVowelDrop() {
   Tester tester = new Tester("kavurmak [A:LastVowelDrop]");
   tester.assertHasParses(
       "kavurdu",
       "kavuracağız",
       "kavurur",
       "kavuruyor",
       "kavur",
       "kavrul",
       "kavrulma",
       "kavurma",
       "kavrulacağız",
       "kavrulmayıver",
       "kavurtacağız");
   tester.assertUnParseable("kavurul", "kavracağız", "kavruyor", "kavrar", "kavrar");
 }
コード例 #11
0
 @Test
 public void testImp() {
   Tester tester = new Tester("aramak", "gitmek [A:Voicing, Aorist_A]", "hapsetmek [A:Voicing]");
   tester.assertHasParses(
       "ara",
       "arayın",
       "git",
       "gitme",
       "gidiniz",
       "gitsene",
       "gitsenize",
       "aramayacak",
       "aramasın",
       "gitmesin",
       "arasınlar",
       "gitmesinler");
   tester.assertHasParses("aramasanıza", "aramayın", "gitmeyin");
   tester.assertUnParseable(suffixProvider.Pass, "hapsedin");
 }
コード例 #12
0
 // TODO elmalidir should have single parse
 @Test
 public void testWithAndWithout() {
   Tester tester = new Tester("elma", "kitap");
   tester.assertHasParses("elmalı", "elmasız", "kitaplı", "kitapsız", "elmalıydı", "elmalıdır");
   tester.assertUnParseable("elmayalı", "elmalarlı", "elmadasız", "elmalarsız");
 }
コード例 #13
0
 @Test
 public void testCompoundsVoicing() {
   Tester tester = new Tester("atkuyruğu [A:CompoundP3sg, Voicing ; R:atkuyruk]");
   tester.assertHasParses("atkuyrukçuk", "atkuyruğu", "atkuyruklarım");
   tester.assertUnParseable("atkuyruğlarım", "atkuyruk");
 }
コード例 #14
0
 @Test
 public void testVoicingOptional() {
   Tester tester = new Tester("yok [A:VoicingOpt]");
   tester.assertHasParses("yok", "yoka", "yoğa", "yoktan");
   tester.assertUnParseable("yoğta", "yokku");
 }
コード例 #15
0
 @Test
 public void nounVowelDrop() {
   Tester tester = new Tester("ağız [A:LastVowelDrop]");
   tester.assertHasParses("ağız", "ağzı", "ağızlar", "ağza");
   tester.assertUnParseable("ağızı", "ağzlar");
 }
コード例 #16
0
 @Test
 public void testVoicing() {
   Tester tester = new Tester("armut");
   tester.assertHasParses("armut", "armuda", "armutlar", "armutlara");
   tester.assertUnParseable("armud", "armuta", "armudlar", "armutlarlar", "armutalar");
 }