public function testShouldAddMapperToMappingManager() { //define mappings $mappingManager = new MappingManager(); $this->assertInternalType('array', $mappingManager->getMappers()); $this->assertEmpty($mappingManager->getMappers()); $mappingManager->add(new Json()); $mappingManager->add(new Camelize()); $mappingManager->add(new Uppercase()); $this->assertInternalType('array', $mappingManager->getMappers()); $this->assertNotEmpty($mappingManager->getMappers()); $this->assertNotEmpty(MappingManager::find('json')); $this->assertInstanceOf('\\Vegas\\Db\\MappingInterface', MappingManager::find('json')); $this->assertNotEmpty(MappingManager::find('camelize')); $this->assertInstanceOf('\\Vegas\\Db\\MappingInterface', MappingManager::find('camelize')); try { $mappingManager->add(new \stdClass()); } catch (InvalidMappingClassException $e) { $m = $e->getMessage(); } $this->assertEquals('Mapping class must be an instance of MappingInterface', $m); try { $mappingManager->remove('json'); $mappingManager->find('json'); } catch (MappingClassNotFoundException $e) { $m = $e->getMessage(); } $this->assertEquals(sprintf('Mapping class \'%s\' was not found', 'json'), $m); try { $mappingManager->find('fake_mapping'); } catch (MappingClassNotFoundException $e) { $m = $e->getMessage(); } $this->assertEquals(sprintf('Mapping class \'%s\' was not found', 'fake_mapping'), $m); }