public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kelime.sonEk().ad().Equals(TurkceEkAdlari.FIIL_KOK) && kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.GENIS_ZAMAN)) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri()); else return null; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (this.onEkler.Contains(kelime.sonEk())) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri); else return null; }
public void testCiftleme() { HarfDizisi dizi = hd("hat"); dilBilgisi.kokOzelDurumlari().ozelDurum("CIFT").uygula(dizi); Assert.AreEqual("hatt", dizi.ToString()); }
public void testYumusama() { HarfDizisi dizi = hd("kitap"); dilBilgisi.kokOzelDurumlari().ozelDurum("YUM").uygula(dizi); Assert.AreEqual("kitab", dizi.ToString()); }
public void testAraSesliDusmesi() { HarfDizisi dizi = hd("burun"); dilBilgisi.kokOzelDurumlari().ozelDurum("DUS").uygula(dizi); Assert.AreEqual("burn", dizi.ToString()); }
public void kelimeBicimlendir(Kelime kelime) { Kok kok = kelime.kok(); HarfDizisi olusan = kelime.icerik(); if (kok.tip().Equals(KelimeTipi.KISALTMA)) { //cozumleme sirasinda eklenmis harf varsa onlari sil. int silinecek = kok.icerik().Length; if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KISALTMA_SON_SESSIZ)) { silinecek += 2; } if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KISALTMA_SON_SESLI)) { silinecek++; } //kelimenin olusan kismindan kokun icereigini sil. olusan.harfSil(0, silinecek); //simdi kokun orjinal halini ekle. olusan.ekle(0, new HarfDizisi(kok.asil(), alfabe)); if (olusan.Length == kok.asil().Length) { return; } //eger gerekiyorsa kesme isareti koy. if (!olusan.harf(kok.asil().Length - 1).Equals(alfabe.harf('.'))) { olusan.ekle(kok.asil().Length, alfabe.harf('\'')); } } else if (kok.tip() == KelimeTipi.OZEL) { olusan.harfDegistir(0, alfabe.buyukHarf(olusan.ilkHarf())); if (kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.KESMESIZ)) { return; } List <Ek> ekler = kelime.ekler(); if (ekler.Count > 1) { Ek ek = (Ek)ekler[1]; if (ek.iyelikEkiMi() || ek.halEkiMi()) { int kesmePozisyonu = kok.icerik().Length; olusan.ekle(kesmePozisyonu, alfabe.harf('\'')); } } } // ozel ic karakter iceren kokler icin bicimleme /* if (kok.ozelDurumlar().contains(TurkceKokOzelDurumlari.OZEL_IC_KARAKTER)) { * //olusan ksimdan koku sil * int silinecek = kok.icerik().length(); * olusan.harfSil(0, silinecek); * //simdi kokun orjinal halini ekle. * olusan.ekle(0, new HarfDizisi(kok.asil())); * }*/ }
public void uygula(HarfDizisi dizi) { if (dizi.Length >= 2) { dizi.harfSil(dizi.Length - 2); } }
public void uygula(HarfDizisi dizi) { if (dizi.aradanKiyasla(dizi.Length - 2, NK)) { dizi.harfDegistir(dizi.Length - 1, alfabe.harf('g')); } }
public HarfDizisi cozumlemeIcinEkUret(HarfDizisi ulanacak, HarfDizisi giris, List <EkUretimBileseni> bilesenler) { HarfDizisi sonuc = new HarfDizisi(4); TurkceHarf sonSesli = ulanacak.sonSesli(); for (int i = 0; i < bilesenler.Count; i++) { EkUretimBileseni ekUretimBileseni = bilesenler[i]; TurkceHarf harf = ekUretimBileseni.harf(); switch (ekUretimBileseni.kural()) { case UretimKurali.HARF: sonuc.ekle(harf); break; case UretimKurali.KAYNASTIR: if (ulanacak.sonHarf().sesliMi()) { sonuc.ekle(harf); } break; case UretimKurali.SERTLESTIR: if (ulanacak.sonHarf().sertMi()) { sonuc.ekle(harf.sertDonusum()); } else { sonuc.ekle(harf); } break; case UretimKurali.SESLI_AE: if (i == 0 && ulanacak.sonHarf().sesliMi()) { break; } else { sonSesli = sesliUretici.sesliBelirleAE(sonSesli); sonuc.ekle(sonSesli); } break; case UretimKurali.SESLI_IU: if (i == 0 && ulanacak.sonHarf().sesliMi()) { break; } else { sonSesli = sesliUretici.sesliBelirleIU(sonSesli); sonuc.ekle(sonSesli); } break; } } return(sonuc); }
public void testDiziEkle() { HarfDizisi dizi2 = new HarfDizisi("ler", alfabe); dizi1.ekle(dizi2); Assert.AreEqual(dizi1.ToString(), "kalemler", "dizi1 ekleme problemi " + dizi1.ToString()); }
public Kelime[] cozumle(String strGiris) { String strIslenmis = alfabe.ayikla(strGiris); if (strIslenmis.Length == 0) { return(Collections.BOS_KELIME_DIZISI); } List <Kok> kokler = kokBulucu.getAdayKokler(strIslenmis); List <Kelime> cozumler = new List <Kelime>(); if (logger.IsInfoEnabled) { logger.Info("Giris: " + strIslenmis + ", Adaylar: " + kokler); } HarfDizisi girisDizi = new HarfDizisi(strIslenmis, alfabe); bool icerikDegisti = false; for (int i = kokler.Count - 1; i >= 0; i--) { Kok kok = kokler[i]; HarfDizisi kokDizi = new HarfDizisi(kok.icerik(), alfabe); if (icerikDegisti) { girisDizi = new HarfDizisi(strIslenmis, alfabe); } //int kokHatasi=MetinAraclari.editDistance(kok.icerik(), strGiris.substring(0,kok.icerik().length())); int kokHatasi = 0; icerikDegisti = yardimci.kokGirisDegismiVarsaUygula(kok, kokDizi, girisDizi); if (logger.IsInfoEnabled) { logger.Info("Aday:" + kok.icerik() + " tolerans:" + kokHatasi); } if (MetinAraclari.inEditDistance(kok.icerik(), strIslenmis, TOLERANS)) { cozumler.Add(new Kelime(kok, alfabe)); } IList <Kelime> sonuclar; if (TOLERANS > kokHatasi) { sonuclar = coz(kok, kokDizi, girisDizi, TOLERANS - kokHatasi); } else { sonuclar = coz(kok, kokDizi, girisDizi, 0); } cozumler.AddRange(sonuclar); } foreach (Kelime kel in cozumler) { yardimci.kelimeBicimlendir(kel); if (Char.IsUpper(strGiris[0])) { kel.icerik().harfDegistir(0, alfabe.buyukHarf(kel.icerik().ilkHarf())); } } return(cozumler.ToArray()); }
private bool ozelDurumDenetle(Kelime kelime, HarfDizisi girisDizi, Ek ek, int tolerans) { if (!kelime.kok().yapiBozucuOzelDurumVarmi()) { return(true); } HarfDizisi testKokIcerigi = kelime.kok().ozelDurumUygula(alfabe, ek); //if (log.isTraceEnabled()) log.trace("Ozel durum sonrasi:" + testKokIcerigi + " ek:" + ek.getIsim()); if (testKokIcerigi == null) { return(false); } if (MetinAraclari.isInSubstringEditDistance(testKokIcerigi.ToString(), girisDizi.ToString(), tolerans)) { kelime.setIcerik(new HarfDizisi(testKokIcerigi)); //if (log.isTraceEnabled()) log.trace("basari, kelime:" + kelime.icerik()); return(true); } else { kelime.setIcerik(new HarfDizisi(kelime.kok().icerik(), alfabe)); } //if (log.isTraceEnabled()) log.trace("kelime:" + kelime.icerik()); return(false); }
private Kelime kelimeUret(Kok kok, HarfDizisi dizi) { Kelime kelime = new Kelime(kok, dizi); kelime.ekEkle(ekYonetici.ilkEkBelirle(kelime.kok())); return(kelime); }
public void uygula(HarfDizisi dizi) { if (dizi.Length > 0) { dizi.ekle(dizi.harf(dizi.Length - 1)); } }
/** * Verilen kelime için sonHeceHarfSayisi indekslerini bir dizi içinde döndürür * * @param giris : Hece indeksleri belirlenecek * @return Hece indekslerini tutan bir int[] * Örnek: "merhaba" kelimesi için 0,3,5 * "türklerin" kelimesi için 0,4,6 */ public int[] heceIndeksleriniBul(String giris) { giris = alfabe.ayikla(giris); HarfDizisi kelime = new HarfDizisi(giris, alfabe); int[] tmpHeceIndeksleri = new int[50]; int heceIndeks = 0; while (kelime.Length > 0) { int index = heceBulucu.sonHeceHarfSayisi(kelime); if (index < 0) { return(null); } int basla = kelime.Length - index; tmpHeceIndeksleri[heceIndeks++] = basla; if (heceIndeks > 50) { return(null); } kelime.kirp(basla); } int[] heceIndeksleri = new int[heceIndeks]; for (int i = 0; i < heceIndeks; i++) { heceIndeksleri[i] = tmpHeceIndeksleri[heceIndeks - i - 1]; } return(heceIndeksleri); }
public void testHarfDegistir() { HarfDizisi kelime = new HarfDizisi("kedicikler", alfabe); kelime.harfDegistir(0, alfabe.harf('c')); kelime.harfDegistir(3, alfabe.harf('a')); Assert.AreEqual(kelime.ToString(), "cedacikler"); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kelime.gercekEkYok() && kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.SU_OZEL_DURUMU)) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri())); } return(null); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf son = kelime.sonHarf(); if (son.sesliMi() || ((son.charDeger()=='r') || son.charDeger()==('l')) && kelime.icerik().sesliSayisi() > 1) { return T; } return null; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf sonSesli = kelime.icerik().sonSesli(); if (sonSesli.charDeger() == 'u' || sonSesli.charDeger() == Alfabe.CHAR_uu) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri); else return null; }
public void testIlkSesli() { HarfDizisi kelime = new HarfDizisi("saatte", alfabe); Assert.AreEqual(kelime.ilkSesli(0), alfabe.harf('a')); Assert.AreEqual(kelime.ilkSesli(1), alfabe.harf('a')); Assert.AreEqual(kelime.ilkSesli(3), alfabe.harf('e')); Assert.AreEqual(kelime.ilkSesli(6), Alfabe.TANIMSIZ_HARF); }
public void uygula(HarfDizisi dizi) { String kelime = kokDonusum[dizi.ToString()]; if (kelime != null) { dizi.sil(); dizi.ekle(new HarfDizisi(kelime, alfabe)); } }
public void testBastanKarsilastir() { HarfDizisi dizi = new HarfDizisi("merhaba", alfabe); Assert.IsTrue(dizi.bastanKiyasla(new HarfDizisi("m", alfabe))); Assert.IsTrue(dizi.bastanKiyasla(new HarfDizisi("merha", alfabe))); Assert.IsTrue(dizi.bastanKiyasla(new HarfDizisi("merhaba", alfabe))); Assert.IsTrue(dizi.bastanKiyasla(new HarfDizisi("merhabal", alfabe)) == false); }
public void testToStringIndex() { HarfDizisi dizi = new HarfDizisi("merhaba", alfabe); Assert.AreEqual(dizi.ToString(4), "aba"); Assert.AreEqual(dizi.ToString(0), "merhaba"); Assert.AreEqual(dizi.ToString(7), ""); Assert.AreEqual(dizi.ToString(-1), ""); Assert.AreEqual(dizi.ToString(6), "a"); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf son = kelime.sonHarf(); if (son.sesliMi() || ((son.charDeger() == 'r') || son.charDeger() == ('l')) && kelime.icerik().sesliSayisi() > 1) { return(T); } return(null); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (this.onEkler.Contains(kelime.sonEk())) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri)); } else { return(null); } }
/** * en son kalin sesli harfi bulup onu ince formu ile degistirir. * ornegin saat -> saAt haline donusur. ince a harfi icin TurkceAlfabe sinifini inceleyin * * @param dizi */ public void uygula(HarfDizisi dizi) { for (int i = dizi.Length - 1; i >= 0; i--) { TurkceHarf h = dizi.harf(i); if (h.sesliMi() && !h.inceSesliMi()) { dizi.harfDegistir(i, _alfabe.kalinSesliIncelt(dizi.harf(i))); } } }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kelime.icerik().sesliSayisi() < 2) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri())); } else { return(null); } }
public void testKirp() { HarfDizisi dizi = new HarfDizisi("merhaba", alfabe); dizi.kirp(5); Assert.AreEqual("merha", dizi.ToString()); dizi.kirp(5); Assert.AreEqual("merha", dizi.ToString()); dizi.kirp(0); Assert.IsTrue(dizi.Length == 0); }
public void testHarfSil() { HarfDizisi kelime = new HarfDizisi("kedicikler", alfabe); kelime.harfSil(9); Assert.AreEqual(kelime.ToString(), "kedicikle"); kelime.harfSil(0); Assert.AreEqual(kelime.ToString(), "edicikle"); kelime.harfSil(3); Assert.AreEqual(kelime.ToString(), "ediikle"); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kiyaslayici == null) return null; // eki olustur. HarfDizisi ek = ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri()); TurkceHarf ekHarfi = sesliUretci.sesliBelirleIU(kelime.icerik()); HarfDizisi olusum = new HarfDizisi("yor", alfabe); olusum.ekle(0, ekHarfi); int harfPozisyonu = kelime.boy() + ek.Length; if (kiyaslayici.aradanKiyasla(giris, olusum, harfPozisyonu)) return ek; return null; }
public void testAradanEkle() { HarfDizisi dizi = HarfDizisiYap("kale"); HarfDizisi ek = HarfDizisiYap("ku"); dizi.ekle(2, ek); Assert.AreEqual(dizi.ToString(), "kakule"); ek = HarfDizisiYap("kara"); dizi.ekle(0, ek); Assert.AreEqual(dizi.ToString(), "karakakule"); dizi.ekle(20, ek);//Bu satýrda hata atmalý }
public void testCharSequenceMethods() { HarfDizisi dizi = new HarfDizisi("armut", alfabe); Assert.AreEqual(dizi.Length, 5); Assert.IsNull(dizi.subSequence(3, 1)); Assert.AreEqual(new HarfDizisi("arm", alfabe), dizi.subSequence(0, 3)); Assert.AreEqual(new HarfDizisi("rm", alfabe), dizi.subSequence(1, 3)); Assert.AreEqual(new HarfDizisi("", alfabe), dizi.subSequence(3, 3)); Assert.AreEqual(dizi.CharAt(0), 'a'); Assert.AreEqual(dizi.CharAt(4), 't'); }
public void testSesliSayisi() { HarfDizisi dizi = new HarfDizisi("merhaba", alfabe); Assert.IsTrue(dizi.sesliSayisi() == 3); dizi = new HarfDizisi("aarteetytye", alfabe); Assert.IsTrue(dizi.sesliSayisi() == 5); dizi = new HarfDizisi("art", alfabe); Assert.IsTrue(dizi.sesliSayisi() == 1); dizi = new HarfDizisi("rrt", alfabe); Assert.IsTrue(dizi.sesliSayisi() == 0); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if (kelime.sonEk().ad().Equals(TurkceEkAdlari.FIIL_KOK) && kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.GENIS_ZAMAN)) { return(ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri())); } else { return(null); } }
public void testHarfEkleHarf() { HarfDizisi dizi = new HarfDizisi("armut", alfabe); dizi.ekle(2, alfabe.harf('n')); Assert.AreEqual(dizi.ToString(), "arnmut"); dizi.ekle(1, alfabe.harf('c')); Assert.AreEqual(dizi.ToString(), "acrnmut"); dizi.ekle(0, alfabe.harf('s')); Assert.AreEqual(dizi.ToString(), "sacrnmut"); dizi.ekle(8, alfabe.harf('a')); Assert.AreEqual(dizi.ToString(), "sacrnmuta"); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { HarfDizisi ek = ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, _uretimBilesenleri); // XXXX gibi Turkce harf tasimayan stringler icin koruma. // TODO: Daha dogru bir yontem bulunmali. if (ek == null) { return null; } int harfPozisyonu = kelime.boy() + ek.Length; if (giris.harf(harfPozisyonu).sesliMi()) return ek; return null; }
public void testSonHece() { HeceBulucu heceBulur = new TurkceHeceBulucu(); String[] strs = {"turk", "ara", "sarta", "siir", "siiir", "kanat", "kanaat", "yaptirt", "artti", "arttir", "arttirt", "sirret", "siirt", "teleskop"}; int[] sonuclar = {4, 2, 2, 2, 2, 3, 2, 4, 2, 3, 4, 3, 3, 3}; HarfDizisi[] girisler = new HarfDizisi[strs.Length]; for (int i = 0; i < strs.Length; i++) girisler[i] = hd(strs[i]); for (int i = 0; i < girisler.Length; i++) { HarfDizisi harfDizisi = girisler[i]; Assert.AreEqual(heceBulur.sonHeceHarfSayisi(harfDizisi), sonuclar[i],harfDizisi.ToString()); } }
public HarfDizisi cozumlemeIcinEkUret(HarfDizisi ulanacak, HarfDizisi giris, List<EkUretimBileseni> bilesenler) { HarfDizisi sonuc = new HarfDizisi(4); TurkceHarf sonSesli = ulanacak.sonSesli(); for (int i = 0; i < bilesenler.Count; i++) { EkUretimBileseni ekUretimBileseni = bilesenler[i]; TurkceHarf harf = ekUretimBileseni.harf(); switch (ekUretimBileseni.kural()) { case UretimKurali.HARF: sonuc.ekle(harf); break; case UretimKurali.KAYNASTIR: if (ulanacak.sonHarf().sesliMi()) sonuc.ekle(harf); break; case UretimKurali.SERTLESTIR: if (ulanacak.sonHarf().sertMi()) sonuc.ekle(harf.sertDonusum()); else sonuc.ekle(harf); break; case UretimKurali.SESLI_AE: if (i == 0 && ulanacak.sonHarf().sesliMi()) break; else { sonSesli = sesliUretici.sesliBelirleAE(sonSesli); sonuc.ekle(sonSesli); } break; case UretimKurali.SESLI_IU: if (i == 0 && ulanacak.sonHarf().sesliMi()) break; else { sonSesli = sesliUretici.sesliBelirleIU(sonSesli); sonuc.ekle(sonSesli); } break; } } return sonuc; }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { TurkceHarf son = kelime.sonHarf(); if(son.sesliMi()) return new HarfDizisi(0); HarfDizisi sonuc = new HarfDizisi(); if (kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.FIIL_ARA_SESLI_DUSMESI)) { //eger ara sesli dusmesi olmussa eklenecek seslinin dusen sesliye gore //belirlenmesi gerekir. yani, "kavurmak" koku ve "kavrulmuS" girisini dusunelim, //ara sesli dusmesi ozel durumu nedeniyle "u" harfi kokten duserek "kavr" haline //gelir. Ancak koke bu haliyle edilgenlik ekini eklemeye kalkarsak "kavrIlmIS" //seklinde yanlis bir kelime ortaya cikardi. Bu nedenle burada dusen eke gore hangi // harfin eklenecegi belirleniyor. HarfDizisi kok = new HarfDizisi(kelime.kok().icerik(), alfabe); TurkceHarf kokAsilSesli = kok.sonSesli(); sonuc.ekle(sesliUretici.sesliBelirleIU(kokAsilSesli)); } else sonuc.ekle(sesliUretici.sesliBelirleIU(kelime.icerik())); if (son.Equals(alfabe.harf('l'))) sonuc.ekle(alfabe.harf('n')); else sonuc.ekle(alfabe.harf('l')); return sonuc; }
public Kelime[] cozumle(String strGiris) { String strIslenmis = alfabe.ayikla(strGiris); if (strIslenmis.Length == 0) return Collections.BOS_KELIME_DIZISI; List<Kok> kokler = kokBulucu.getAdayKokler(strIslenmis); List<Kelime> cozumler = new List<Kelime>(); if (logger.IsInfoEnabled) logger.Info("Giris: " + strIslenmis + ", Adaylar: " + kokler); HarfDizisi girisDizi = new HarfDizisi(strIslenmis, alfabe); bool icerikDegisti = false; for (int i = kokler.Count - 1; i >= 0; i--) { Kok kok = kokler[i]; HarfDizisi kokDizi = new HarfDizisi(kok.icerik(), alfabe); if (icerikDegisti) { girisDizi = new HarfDizisi(strIslenmis, alfabe); } //int kokHatasi=MetinAraclari.editDistance(kok.icerik(), strGiris.substring(0,kok.icerik().length())); int kokHatasi = 0; icerikDegisti = yardimci.kokGirisDegismiVarsaUygula(kok, kokDizi, girisDizi); if (logger.IsInfoEnabled) logger.Info("Aday:" + kok.icerik() + " tolerans:" + kokHatasi); if (MetinAraclari.inEditDistance(kok.icerik(), strIslenmis, TOLERANS)) cozumler.Add(new Kelime(kok, alfabe)); IList<Kelime> sonuclar; if (TOLERANS > kokHatasi) sonuclar = coz(kok, kokDizi, girisDizi, TOLERANS - kokHatasi); else sonuclar = coz(kok, kokDizi, girisDizi, 0); cozumler.AddRange(sonuclar); } foreach (Kelime kel in cozumler) { yardimci.kelimeBicimlendir(kel); if (Char.IsUpper(strGiris[0])) kel.icerik().harfDegistir(0, alfabe.buyukHarf(kel.icerik().ilkHarf())); } return cozumler.ToArray(); }
public override HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici) { if(kelime.gercekEkYok() && kelime.kok().ozelDurumIceriyormu(TurkceKokOzelDurumTipi.SU_OZEL_DURUMU)) return ekUretici.cozumlemeIcinEkUret(kelime.icerik(), giris, uretimBilesenleri()); return null; }
public void testSonHarfYumusat() { HarfDizisi kelime = new HarfDizisi("kitap", alfabe); kelime.sonHarfYumusat(); Assert.AreEqual(kelime.sonHarf(), alfabe.harf('b')); kelime = new HarfDizisi("armut", alfabe); kelime.sonHarfYumusat(); Assert.AreEqual(kelime.sonHarf(), alfabe.harf('d')); kelime = new HarfDizisi("kulak", alfabe); kelime.sonHarfYumusat(); Assert.AreEqual(kelime.sonHarf(), alfabe.harf(Alfabe.CHAR_gg)); }
public void uygula(HarfDizisi dizi) { if (dizi.Length > 0) dizi.ekle(dizi.harf(dizi.Length - 1)); }
/** * giris ile gelen [dizi] harf dizisine ozel durumu uygular. * basit ziyaretci deseni (visitor pattern). * * @param dizi */ public void uygula(HarfDizisi dizi) { _islem.uygula(dizi); }
public void uygula(HarfDizisi dizi) { }
public abstract HarfDizisi cozumlemeIcinUret(Kelime kelime, HarfDizisi giris, HarfDizisiKiyaslayici kiyaslayici);
public void testTurkceToleransliKiyasla() { HarfDizisi hd1 = new HarfDizisi("\u00c7\u0131k\u0131s", alfabe); HarfDizisi hd2 = new HarfDizisi("Ciki\u015f", alfabe); HarfDizisi hdkisa = new HarfDizisi("Ci", alfabe); HarfDizisi hdtkisaturkce = new HarfDizisi("\u00c7\u0131", alfabe); Assert.IsTrue(hd1.asciiToleransliKiyasla(hd2)); Assert.IsTrue(hd2.asciiToleransliKiyasla(hd1)); Assert.IsTrue(hd1.asciiToleransliBastanKiyasla(hdkisa)); Assert.IsTrue(hd2.asciiToleransliBastanKiyasla(hdkisa)); Assert.IsTrue(hd2.asciiToleransliBastanKiyasla(hdtkisaturkce)); }
public void testEquals() { HarfDizisi dizi = new HarfDizisi("merhaba", alfabe); Assert.IsTrue(dizi.Equals(new HarfDizisi("merhaba", alfabe))); Assert.IsTrue(dizi.Equals(new HarfDizisi("merha", alfabe)) == false); Assert.IsTrue(dizi.Equals(new HarfDizisi("merhabalar", alfabe)) == false); HarfDizisi ydizi = new HarfDizisi("merhaba", alfabe, 20); Assert.IsTrue(dizi.Equals(new HarfDizisi("merhaba", alfabe))); Assert.IsTrue(dizi.Equals(new HarfDizisi("merhaba", alfabe, 15))); Assert.IsTrue(dizi.Equals(new HarfDizisi("merhabalar", alfabe, 15)) == false); }
public void uygula(HarfDizisi dizi) { if (dizi.Length > 0) dizi.harfSil(dizi.Length - 1); }
public void testDiziEkle() { HarfDizisi dizi2 = new HarfDizisi("ler", alfabe); dizi1.ekle(dizi2); Assert.AreEqual(dizi1. ToString(), "kalemler", "dizi1 ekleme problemi " + dizi1.ToString()); }
public void setUp() { //base.setUp(); str = "kalem"; dizi1 = new HarfDizisi(str, alfabe); }