public function testGetLocation() { $location = CMTest_TH::createLocation(); $params = new CM_Params(['location' => $location, 'locationParameters' => ['id' => $location->getId(), 'level' => $location->getLevel()], 'insufficientParameters' => 1]); $this->assertEquals($location, $params->getLocation('location')); $this->assertEquals($location, $params->getLocation('locationParameters')); try { $params->getLocation('insufficientParameters'); $this->fail('Instantiating location with insufficient parameters'); } catch (CM_Exception_InvalidParam $ex) { $this->assertSame('Not enough parameters', $ex->getMessage()); $this->assertSame(['parameters' => 1, 'className' => 'CM_Model_Location'], $ex->getMetaInfo()); } }