Пример #1
0
        public void testKokDegisimleri()
        {
            Kok kok = new Kok("bahset", KelimeTipi.FIIL);

            kok.ozelDurumEkle(koz.ozelDurum("GEN"));
            kok.ozelDurumEkle(koz.ozelDurum("YUM"));
            String[] sonuclar = koz.ozelDurumUygula(kok);
            Assert.AreEqual(sonuclar.Length, 1);
            Assert.AreEqual(sonuclar[0], "bahsed");
        }
Пример #2
0
        /**
         * İkili (Binary) sözlükten bir kök okur. çağrıldıkça bir sonraki kökü alır.
         *
         * @return bir sonraki kök. Eğer okunacak kök kalmamışsa null
         */
        public Kok oku()
        {
            String icerik = string.Empty;

            //kok icerigini oku. eger dosya sonuna gelinmisse (EndOfStreamException) null dondur.
            try
            {
                int len = binReader.ReadByte() * 255 + binReader.ReadByte();
                icerik = Encoding.UTF8.GetString(binReader.ReadBytes(len));
            }
            catch (EndOfStreamException)
            {
                this.Kapat();
                return(null);
            }

            int    len1 = binReader.ReadByte() * 255 + binReader.ReadByte();
            String asil = Encoding.UTF8.GetString(binReader.ReadBytes(len1));

            // Tip bilgisini oku (1 byte)
            string     tipstr = binReader.ReadByte().ToString();
            KelimeTipi tip    = (KelimeTipi)Enum.Parse(typeof(KelimeTipi), tipstr);
            Kok        kok    = new Kok(icerik, tip);

            if (asil.Length != 0)
            {
                kok.Asil = asil;
            }

            char c = Encoding.UTF8.GetChars(binReader.ReadBytes(2))[0];

            if (char.IsLetter(c))
            {
                kok.KisaltmaSonSeslisi = c;
            }

            // Özel durum sayısını (1 byte) ve ozel durumlari oku.
            int ozelDurumSayisi = binReader.ReadByte();

            for (int i = 0; i < ozelDurumSayisi; i++)
            {
                int           ozelDurum = binReader.ReadByte();
                KokOzelDurumu oz        = ozelDurumlar.ozelDurum(ozelDurum);
                kok.ozelDurumEkle(oz);
            }
            int frekans = binReader.ReadByte() * 255 * 255 * 255 + binReader.ReadByte() * 255 * 255
                          + binReader.ReadByte() * 255 + binReader.ReadByte();

            if (frekans != 0)
            {
                kok.Frekans = frekans;
            }
            return(kok);
        }
Пример #3
0
        public void testDegismisIcerikOlustur()
        {
            Kok kok = new Kok("ara", KelimeTipi.FIIL);

            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.SIMDIKI_ZAMAN));//bu satır java tarafında yok, ama bu olmazsa test cakar
            Assert.IsTrue(koz.ozelDurumUygula(kok).Length > 0);
            Assert.AreEqual((koz.ozelDurumUygula(kok))[0], "ar");
            Assert.IsTrue(kok.ozelDurumIceriyormu(TurkceKokOzelDurumTipi.SIMDIKI_ZAMAN));
            kok = new Kok("kitap", KelimeTipi.ISIM);
            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.SESSIZ_YUMUSAMASI));
            Assert.IsTrue(koz.ozelDurumUygula(kok).Length > 0);
            Assert.AreEqual((koz.ozelDurumUygula(kok))[0], "kitab");

            String str = "al" + Alfabe.CHAR_ii + "n";

            kok = new Kok(str, KelimeTipi.ISIM);
            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.ISIM_SESLI_DUSMESI));
            Assert.IsTrue(koz.ozelDurumUygula(kok).Length > 0);
            Assert.AreEqual((koz.ozelDurumUygula(kok))[0], "aln");

            kok = new Kok("nakit", KelimeTipi.ISIM);
            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.ISIM_SESLI_DUSMESI));
            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.SESSIZ_YUMUSAMASI));
            Assert.IsTrue(koz.ozelDurumUygula(kok).Length > 0);
            Assert.AreEqual((koz.ozelDurumUygula(kok))[0], "nakd");

            kok = new Kok("ben", KelimeTipi.ZAMIR);
            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.TEKIL_KISI_BOZULMASI));
            Assert.IsTrue(koz.ozelDurumUygula(kok).Length > 0);
            Assert.AreEqual((koz.ozelDurumUygula(kok))[0], "ban");

            kok = new Kok("sen", KelimeTipi.ZAMIR);
            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.TEKIL_KISI_BOZULMASI));
            Assert.IsTrue(koz.ozelDurumUygula(kok).Length > 0);
            Assert.AreEqual((koz.ozelDurumUygula(kok))[0], "san");

            kok = new Kok("de", KelimeTipi.FIIL);
            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.FIIL_KOK_BOZULMASI));
            Assert.IsTrue(koz.ozelDurumUygula(kok).Length > 0);
            Assert.AreEqual((koz.ozelDurumUygula(kok))[0], "di");

            kok = new Kok("ye", KelimeTipi.FIIL);
            kok.ozelDurumEkle(koz.ozelDurum(TurkceKokOzelDurumTipi.FIIL_KOK_BOZULMASI));
            Assert.IsTrue(koz.ozelDurumUygula(kok).Length > 0);
            Assert.AreEqual((koz.ozelDurumUygula(kok))[0], "yi");
        }