More complete, more straightforward JobQueueMemoryTest
[mediawiki.git] / tests / phpunit / languages / classes / LanguageUkTest.php
blob5912df68a345b5231dfec9a7e9f56b9a0fb61474
1 <?php
2 /**
3 * @author Amir E. Aharoni
4 * based on LanguageBe_tarask.php
5 * @copyright Copyright © 2012, Amir E. Aharoni
6 * @file
7 */
9 /** Tests for Ukrainian */
10 class LanguageUkTest extends LanguageClassesTestCase {
11 /**
12 * @dataProvider providePlural
13 * @covers Language::convertPlural
15 public function testPlural( $result, $value ) {
16 $forms = array( 'one', 'few', 'many', 'other' );
17 $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
20 /**
21 * Test explicit plural forms - n=FormN forms
22 * @covers Language::convertPlural
24 public function testExplicitPlural() {
25 $forms = array( 'one', 'few', 'many', 'other', '12=dozen' );
26 $this->assertEquals( 'dozen', $this->getLang()->convertPlural( 12, $forms ) );
27 $forms = array( 'one', 'few', 'many', '100=hundred', 'other', '12=dozen' );
28 $this->assertEquals( 'hundred', $this->getLang()->convertPlural( 100, $forms ) );
31 /**
32 * @dataProvider providePlural
33 * @covers Language::getPluralRuleType
35 public function testGetPluralRuleType( $result, $value ) {
36 $this->assertEquals( $result, $this->getLang()->getPluralRuleType( $value ) );
39 public static function providePlural() {
40 return array(
41 array( 'one', 1 ),
42 array( 'many', 11 ),
43 array( 'one', 91 ),
44 array( 'one', 121 ),
45 array( 'few', 2 ),
46 array( 'few', 3 ),
47 array( 'few', 4 ),
48 array( 'few', 334 ),
49 array( 'many', 5 ),
50 array( 'many', 15 ),
51 array( 'many', 120 ),
55 /**
56 * @dataProvider providePluralTwoForms
57 * @covers Language::convertPlural
59 public function testPluralTwoForms( $result, $value ) {
60 $forms = array( '1=one', 'other' );
61 $this->assertEquals( $result, $this->getLang()->convertPlural( $value, $forms ) );
64 public static function providePluralTwoForms() {
65 return array(
66 array( 'one', 1 ),
67 array( 'other', 11 ),
68 array( 'other', 91 ),
69 array( 'other', 121 ),
73 /**
74 * @dataProvider providerGrammar
75 * @covers Language::convertGrammar
77 public function testGrammar( $result, $word, $case ) {
78 $this->assertEquals( $result, $this->getLang()->convertGrammar( $word, $case ) );
81 public static function providerGrammar() {
82 return array(
83 array(
84 'Вікіпедії',
85 'Вікіпедія',
86 'genitive',
88 array(
89 'Віківидів',
90 'Віківиди',
91 'genitive',
93 array(
94 'Вікіцитат',
95 'Вікіцитати',
96 'genitive',
98 array(
99 'Вікіпідручника',
100 'Вікіпідручник',
101 'genitive',
103 array(
104 'Вікіпедію',
105 'Вікіпедія',
106 'accusative',