/zemberek2/test/cekirdek/net/zemberek/bilgi/koksecici/TestKesinKokBulucu.java

http://zemberek.googlecode.com/ · Java · 97 lines · 70 code · 18 blank · 9 comment · 0 complexity · aa144d08ec8639ffe09f7243de84c63a MD5 · raw file

  1. /*
  2. * Lisans bilgisi icin lutfen proje ana dizinindeki zemberek2-lisans.txt dosyasini okuyunuz.
  3. */
  4. /*
  5. * Created on 18.Eki.2004
  6. */
  7. package net.zemberek.bilgi.koksecici;
  8. import static java.lang.System.out;
  9. import static org.junit.Assert.assertTrue;
  10. import java.io.IOException;
  11. import java.util.List;
  12. import net.zemberek.TemelTest;
  13. import net.zemberek.TestUtils;
  14. import net.zemberek.araclar.TimeTracker;
  15. import net.zemberek.bilgi.araclar.DuzYaziKokOkuyucu;
  16. import net.zemberek.bilgi.araclar.IkiliKokOkuyucu;
  17. import net.zemberek.bilgi.araclar.KokOkuyucu;
  18. import net.zemberek.bilgi.kokler.AgacSozluk;
  19. import net.zemberek.bilgi.kokler.KesinKokAdayiBulucu;
  20. import net.zemberek.bilgi.kokler.KokAdayiBulucu;
  21. import net.zemberek.bilgi.kokler.ToleransliKokAdayiBulucu;
  22. import net.zemberek.yapi.Kok;
  23. import org.junit.Before;
  24. import org.junit.Ignore;
  25. import org.junit.Test;
  26. /**
  27. * @author MDA & GBA
  28. */
  29. public class TestKesinKokBulucu extends TemelTest {
  30. AgacSozluk sozluk = null;
  31. KokAdayiBulucu bulucu;
  32. String[] kelimeler;
  33. KokOkuyucu okuyucu;
  34. @Before
  35. public void once() throws IOException {
  36. super.once();
  37. sozluk = sozlukUret("kaynaklar/tr/test/test-sozluk.txt");
  38. }
  39. @Ignore("Bilgi gosterimi amacli test.")
  40. @Test
  41. public void testWordTreeKokSecici() {
  42. bulucu = new KesinKokAdayiBulucu(sozluk.getAgac());
  43. out.println("Agac:" + sozluk.getAgac().getKokDugumu().goster(2));
  44. List<Kok> list = bulucu.adayKokleriBul("karalar");
  45. TestUtils.printList(list);
  46. out.println("Tamamlanma s???resi: " + TimeTracker.stopClock("x"));
  47. }
  48. @Test
  49. public void testToleransliKokBulBasit() {
  50. bulucu = new ToleransliKokAdayiBulucu(sozluk.getAgac(), 1);
  51. out.println("Agac:" + sozluk.getAgac().getKokDugumu().goster(2));
  52. List<Kok> list = bulucu.adayKokleriBul("deniz");
  53. TestUtils.printList(list);
  54. out.println("Tamamlanma s???resi: " + TimeTracker.stopClock("x"));
  55. }
  56. @Test
  57. public void testKokSeciciTumSozluk() throws IOException {
  58. okuyucu = new IkiliKokOkuyucu("kaynaklar/tr/bilgi/kokler_tr.bin", dilBilgisi.kokOzelDurumlari());
  59. sozluk = new AgacSozluk(okuyucu, alfabe, dilBilgisi.kokOzelDurumlari());
  60. bulucu = new KesinKokAdayiBulucu(sozluk.getAgac());
  61. List<Kok> list = bulucu.adayKokleriBul("etkiler");
  62. out.println(list);
  63. }
  64. @Test
  65. public void ozelKokAgacTest() throws IOException {
  66. sozluk=sozlukUret("kaynaklar/tr/test/agac-kokler-2.txt");
  67. bulucu = new KesinKokAdayiBulucu(sozluk.getAgac());
  68. assertTrue("tek sonuc bekleniyordu", bulucu.adayKokleriBul("atoller").size()==1);
  69. }
  70. private AgacSozluk sozlukUret(String duzyaziDosya) throws IOException {
  71. okuyucu = new DuzYaziKokOkuyucu(
  72. duzyaziDosya,
  73. dilBilgisi.kokOzelDurumlari(),
  74. alfabe,
  75. dilAyarlari.kokTipiAdlari());
  76. AgacSozluk s = new AgacSozluk(okuyucu, alfabe, dilBilgisi.kokOzelDurumlari());
  77. return s;
  78. }
  79. }