2
0

TermTest.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. /**
  3. * @category Zend
  4. * @package Zend_Search_Lucene
  5. * @subpackage UnitTests
  6. */
  7. /**
  8. * Zend_Search_Lucene_Index_Term
  9. */
  10. require_once 'Zend/Search/Lucene/Index/Term.php';
  11. /**
  12. * PHPUnit test case
  13. */
  14. require_once 'PHPUnit/Framework/TestCase.php';
  15. /**
  16. * @category Zend
  17. * @package Zend_Search_Lucene
  18. * @subpackage UnitTests
  19. */
  20. class Zend_Search_Lucene_Index_TermTest extends PHPUnit_Framework_TestCase
  21. {
  22. public function testCreate()
  23. {
  24. $term = new Zend_Search_Lucene_Index_Term('term_text');
  25. $this->assertTrue($term instanceof Zend_Search_Lucene_Index_Term);
  26. $this->assertEquals($term->text, 'term_text');
  27. $this->assertEquals($term->field, null);
  28. $term = new Zend_Search_Lucene_Index_Term('term_text', 'field_name');
  29. $this->assertEquals($term->text, 'term_text');
  30. $this->assertEquals($term->field, 'field_name');
  31. }
  32. public function testKey()
  33. {
  34. $term1_1 = new Zend_Search_Lucene_Index_Term('term_text1', 'field_name1');
  35. $term2_1 = new Zend_Search_Lucene_Index_Term('term_text2', 'field_name1');
  36. $term2_2 = new Zend_Search_Lucene_Index_Term('term_text2', 'field_name2');
  37. $term2_1Dup = new Zend_Search_Lucene_Index_Term('term_text2', 'field_name1');
  38. $this->assertEquals($term1_1->text > $term2_1->text, $term1_1->key() > $term2_1->key());
  39. $this->assertEquals($term1_1->text >= $term2_1->text, $term1_1->key() >= $term2_1->key());
  40. $this->assertEquals($term1_1->field > $term2_2->field, $term1_1->key() > $term2_2->key());
  41. $this->assertEquals($term1_1->field >= $term2_2->field, $term1_1->key() >= $term2_2->key());
  42. $this->assertEquals($term2_1->key(), $term2_1Dup->key());
  43. }
  44. public function testGetPrefix()
  45. {
  46. $this->assertEquals(Zend_Search_Lucene_Index_Term::getPrefix('term_text', 10), 'term_text');
  47. $this->assertEquals(Zend_Search_Lucene_Index_Term::getPrefix('term_text', 9), 'term_text');
  48. $this->assertEquals(Zend_Search_Lucene_Index_Term::getPrefix('term_text', 4), 'term');
  49. $this->assertEquals(Zend_Search_Lucene_Index_Term::getPrefix('term_text', 0), '');
  50. }
  51. public function testGetPrefixUtf8()
  52. {
  53. // UTF-8 string with non-ascii symbols (Russian alphabet)
  54. $this->assertEquals(Zend_Search_Lucene_Index_Term::getPrefix('абвгдеёжзийклмнопрстуфхцчшщьыъэюя', 64), 'абвгдеёжзийклмнопрстуфхцчшщьыъэюя');
  55. $this->assertEquals(Zend_Search_Lucene_Index_Term::getPrefix('абвгдеёжзийклмнопрстуфхцчшщьыъэюя', 33), 'абвгдеёжзийклмнопрстуфхцчшщьыъэюя');
  56. $this->assertEquals(Zend_Search_Lucene_Index_Term::getPrefix('абвгдеёжзийклмнопрстуфхцчшщьыъэюя', 4), 'абвг');
  57. $this->assertEquals(Zend_Search_Lucene_Index_Term::getPrefix('абвгдеёжзийклмнопрстуфхцчшщьыъэюя', 0), '');
  58. }
  59. }