array(null, 'fr-BE'), 'eastAsia' => array(null, 'ja-JP'), 'bidirectional' => array(null, 'ar-SA'), 'langId' => array(null, 1036), ); foreach ($properties as $property => $value) { list($default, $expected) = $value; $get = "get{$property}"; $set = "set{$property}"; $this->assertEquals($default, $object->$get()); // Default value $object->$set($expected); $this->assertEquals($expected, $object->$get()); // New value } } /** * Test throws exception if wrong locale is given */ public function testWrongLanguage() { $this->expectException(\InvalidArgumentException::class); $language = new Language(); $language->setLatin('fra'); } /** * Tests that a language can be set with just a 2 char code */ public function testShortLanguage() { //when $language = new Language(); $language->setLatin('fr'); //then Assert::assertEquals('fr-FR', $language->getLatin()); } }