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 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 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 testSonHarf() { Assert.AreEqual(dizi1.sonHarf(), alfabe.harf('m'), "harf ekleme problemi"); }