public function testUtilities() { $data = []; $data['languageId'] = 123; $data['languageName'] = 'TESTLANG'; $data['iso639_1'] = 'tt'; $data['iso639_2b'] = 'tst'; $data['iso639_2t'] = 'ttt'; $obj1 = new Language(); $obj1->populate($data); $this->assertEquals($data['languageId'], $obj1->getLanguageId()); $this->assertEquals($data['languageName'], $obj1->getLanguageName()); $this->assertEquals($data['iso639_1'], $obj1->getIso6391()); $this->assertEquals($data['iso639_2b'], $obj1->getIso6392b()); $this->assertEquals($data['iso639_2t'], $obj1->getIso6392t()); $obj2 = new Language(); $obj2->populateFromObject($obj1); $this->assertEquals($obj1->getLanguageId(), $obj2->getLanguageId()); $this->assertEquals($obj1->getLanguageName(), $obj2->getLanguageName()); $this->assertEquals($obj1->getIso6391(), $obj2->getIso6391()); $this->assertEquals($obj1->getIso6392b(), $obj2->getIso6392b()); $this->assertEquals($obj1->getIso6392t(), $obj2->getIso6392t()); $json = json_encode($obj2); $this->assertJson($json); $iterator = $obj2->getIterator(); $this->assertInstanceOf('\\ArrayIterator', $iterator); $array = $obj2->toArray(); $this->assertEquals($data['languageId'], $array['languageId']); $this->assertEquals($data['languageName'], $array['languageName']); $this->assertEquals($data['iso639_1'], $array['iso639_1']); $this->assertEquals($data['iso639_2b'], $array['iso639_2b']); $this->assertEquals($data['iso639_2t'], $array['iso639_2t']); }
/** * populate @todo some properties are missing * * @param array $data * @param array $ignore * * @return void */ public function populate(array $data, array $ignore = []) { if (!empty($data['siteId']) && !in_array('siteId', $ignore)) { $this->setSiteId($data['siteId']); } if (!empty($data['domain']) && $data['domain'] instanceof Domain && !in_array('domain', $ignore)) { $this->setDomain($data['domain']); } if (!empty($data['domain']) && is_array($data['domain']) && !in_array('domain', $ignore)) { // is this right? $domain = new Domain(); $domain->populate($data['domain']); $this->setDomain($domain); } if (!empty($data['theme']) && !in_array('theme', $ignore)) { $this->setTheme($data['theme']); } if (!empty($data['siteLayout']) && !in_array('siteLayout', $ignore)) { $this->setSiteLayout($data['siteLayout']); } if (!empty($data['siteTitle']) && !in_array('siteTitle', $ignore)) { $this->setSiteTitle($data['siteTitle']); } if (!empty($data['language']) && $data['language'] instanceof Language && !in_array('language', $ignore)) { $this->setLanguage($data['language']); } if (!empty($data['language']) && is_array($data['language']) && !in_array('language', $ignore)) { $language = new Language(); $language->populate($data['language']); $this->setLanguage($language); } if (!empty($data['country']) && $data['country'] instanceof Country && !in_array('country', $ignore)) { $this->setCountry($data['country']); } if (!empty($data['country']) && is_array($data['country']) && !in_array('country', $ignore)) { $country = new Country(); $country->populate($data['country']); $this->setCountry($country); } if (!empty($data['status']) && !in_array('status', $ignore)) { $this->setStatus($data['status']); } if (!empty($data['favIcon']) && !in_array('favIcon', $ignore)) { $this->setFavIcon($data['favIcon']); } if (!empty($data['loginPage']) && !in_array('loginPage', $ignore)) { $this->setLoginPage($data['loginPage']); } if (!empty($data['notAuthorizedPage']) && !in_array('notAuthorizedPage', $ignore)) { $this->setNotAuthorizedPage($data['notAuthorizedPage']); } if (!empty($data['notFoundPage']) && !in_array('notFoundPage', $ignore)) { $this->setNotFoundPage($data['notFoundPage']); } if (!empty($data['supportedPageTypes']) && !in_array('supportedPageTypes', $ignore)) { $this->setSupportedPageTypes($data['supportedPageTypes']); } }