public function testConstruct() { $student = new My_ShantyMongo_Student(); $this->assertTrue($student->isNewDocument()); $this->assertTrue($student->isRootDocument()); $this->assertTrue($student->isConnected()); $this->assertTrue($student->hasKey()); $this->assertTrue($student->hasId()); $this->assertType(PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $student->getId()); $this->assertEquals('MongoId', get_class($student->getId())); $this->assertEquals(My_ShantyMongo_Student::getCollectionRequirements(), $student->getRequirements()); $type = array('My_ShantyMongo_Student', 'My_ShantyMongo_User'); $this->assertEquals($type, $student->getInheritance()); $criteria = $student->getCriteria(); $this->assertTrue(array_key_exists('_id', $criteria)); $this->assertEquals($student->getId()->__toString(), $criteria['_id']->__toString()); $name = new My_ShantyMongo_Name(); $this->assertTrue($name->isNewDocument()); $this->assertTrue($name->isRootDocument()); $this->assertFalse($name->isConnected()); $this->assertFalse($name->hasKey()); $this->assertFalse($name->hasId()); $this->assertEquals(array(), $name->getInheritance()); $config = array('new' => false, 'connectionGroup' => 'default', 'db' => TESTS_SHANTY_MONGO_DB, 'collection' => 'user', 'pathToDocument' => 'name', 'requirementModifiers' => array('middle' => array('Required' => null))); $name = new My_ShantyMongo_Name(array('first' => 'Jerry'), $config); $this->assertFalse($name->isNewDocument()); $this->assertFalse($name->isRootDocument()); $this->assertTrue($name->isConnected()); $requirements = array('_id' => array('Validator:MongoId' => null), '_type' => array('Array' => null), 'first' => array('Required' => null), 'last' => array('Required' => null), 'middle' => array('Required' => null)); $this->assertEquals($requirements, $name->getRequirements()); }
public function testConstruct() { $student = new My_ShantyMongo_Student(); $this->assertTrue($student->isNewDocument()); $this->assertTrue($student->isRootDocument()); $this->assertTrue($student->isConnected()); $this->assertTrue($student->hasKey()); $this->assertTrue($student->hasId()); $this->assertInternalType(PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $student->getId()); $this->assertEquals('MongoId', get_class($student->getId())); $this->assertEquals(My_ShantyMongo_Student::getCollectionRequirements(), $student->getRequirements()); $type = array('My_ShantyMongo_Student', 'My_ShantyMongo_User'); $this->assertEquals($type, $student->getInheritance()); $criteria = $student->getCriteria(); $this->assertTrue(array_key_exists('_id', $criteria)); $this->assertEquals($student->getId()->__toString(), $criteria['_id']->__toString()); $name = new My_ShantyMongo_Name(); $this->assertTrue($name->isNewDocument()); $this->assertTrue($name->isRootDocument()); $this->assertFalse($name->isConnected()); $this->assertFalse($name->hasKey()); $this->assertFalse($name->hasId()); $this->assertEquals(array(), $name->getInheritance()); $config = array('new' => false, 'connectionGroup' => 'default', 'db' => TESTS_SHANTY_MONGO_DB, 'collection' => 'user', 'pathToDocument' => 'name', 'requirementModifiers' => array('middle' => array('Required' => null))); $name = new My_ShantyMongo_Name(array('first' => 'Jerry'), $config); $this->assertFalse($name->isNewDocument()); $this->assertFalse($name->isRootDocument()); $this->assertTrue($name->isConnected()); $this->assertEquals($name->first, 'Jerry'); $requirements = array('_id' => array('Validator:MongoId' => null), '_type' => array('Array' => null), 'first' => array('Required' => null), 'last' => array('Required' => null), 'middle' => array('Required' => null)); $this->assertEquals($requirements, $name->getRequirements()); // Test input data initialisation $data = array('name' => array('first' => 'Jerry', 'last' => 'Springer'), 'addresses' => array(array('street' => '35 Sheep Lane', 'suburb' => 'Sheep Heaven', 'state' => 'New Zealand', 'postcode' => '2345', 'country' => 'New Zealand')), 'friends' => array(MongoDBRef::create('user', new MongoId('4c04516f1f5f5e21361e3ab1')), MongoDBRef::create('user', new MongoId('4c0451791f5f5e21361e3ab2')))); $student = new My_ShantyMongo_Student($data); $this->assertNotNull($student->name); $this->assertEquals('My_ShantyMongo_Name', get_class($student->name)); $this->assertEquals('Sheep Heaven', $student->addresses[0]->suburb); $this->assertEquals('My_ShantyMongo_ArtStudent', get_class($student->friends[1])); }