RussianLanguageTest.php 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace morphos\test\Russian;
  3. use morphos\Gender;
  4. use morphos\Russian\RussianLanguage;
  5. use PHPUnit\Framework\TestCase;
  6. class RussianLanguageTest extends TestCase
  7. {
  8. /**
  9. * @dataProvider verbsProvider()
  10. */
  11. public function testVerb($verb, $gender, $correctVerb)
  12. {
  13. $this->assertEquals($correctVerb, \morphos\Russian\RussianLanguage::verb($verb, $gender));
  14. }
  15. public function verbsProvider()
  16. {
  17. return
  18. [
  19. ['попал', Gender::MALE, 'попал'],
  20. ['попал', Gender::FEMALE, 'попала'],
  21. ['попался', Gender::MALE, 'попался'],
  22. ['попался', Gender::FEMALE, 'попалась'],
  23. ['внес', Gender::FEMALE, 'внесла'],
  24. ['внесся', Gender::FEMALE, 'внеслась'],
  25. ];
  26. }
  27. public function testIn()
  28. {
  29. $this->assertEquals('в море', RussianLanguage::in('море'));
  30. $this->assertEquals('в фильме', RussianLanguage::in('фильме'));
  31. $this->assertEquals('во флаконе', RussianLanguage::in('флаконе'));
  32. $this->assertEquals('во Владивостоке', RussianLanguage::in('Владивостоке'));
  33. }
  34. public function testWith()
  35. {
  36. $this->assertEquals('с пола', RussianLanguage::with('пола'));
  37. $this->assertEquals('со шкафа', RussianLanguage::with('шкафа'));
  38. $this->assertEquals('со щами', RussianLanguage::with('щами'));
  39. $this->assertEquals('со снегом', RussianLanguage::with('снегом'));
  40. $this->assertEquals('с сестрой', RussianLanguage::with('сестрой'));
  41. }
  42. public function testAbout()
  43. {
  44. $this->assertEquals('о материи', RussianLanguage::about('материи'));
  45. $this->assertEquals('об одном', RussianLanguage::about('одном'));
  46. $this->assertEquals('обо всём', RussianLanguage::about('всём'));
  47. }
  48. }