public function testAll() { $users = My_ShantyMongo_User::all(); $this->assertInternalType(PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $users); $this->assertEquals('Shanty_Mongo_Iterator_Cursor', get_class($users)); $this->assertEquals(3, $users->count()); $this->assertEquals('4c04516a1f5f5e21361e3ab0', $users->getNext()->getId()->__toString()); $this->assertEquals('4c04516f1f5f5e21361e3ab1', $users->getNext()->getId()->__toString()); $this->assertEquals('4c0451791f5f5e21361e3ab2', $users->getNext()->getId()->__toString()); $males = My_ShantyMongo_User::all(array('sex' => 'M')); $this->assertInternalType(PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $males); $this->assertEquals('Shanty_Mongo_Iterator_Cursor', get_class($males)); $this->assertEquals(2, $males->count()); $this->assertEquals('4c04516a1f5f5e21361e3ab0', $males->getNext()->getId()->__toString()); $this->assertEquals('4c0451791f5f5e21361e3ab2', $males->getNext()->getId()->__toString()); // Test inheritance $students = My_ShantyMongo_Student::all(); $this->assertEquals(2, $students->count()); $this->assertEquals('4c04516f1f5f5e21361e3ab1', $students->getNext()->getId()->__toString()); $this->assertEquals('4c0451791f5f5e21361e3ab2', $students->getNext()->getId()->__toString()); $artstudents = My_ShantyMongo_ArtStudent::all(); $this->assertEquals(1, $artstudents->count()); $this->assertEquals('4c0451791f5f5e21361e3ab2', $artstudents->getNext()->getId()->__toString()); // Test loading of partial documents $users = My_ShantyMongo_User::all(array(), array('name' => 1, 'email' => 1)); $firstUser = $users->getNext(); $this->assertEquals(array('_id', '_type', 'name', 'email'), $firstUser->getPropertyKeys()); $this->assertNull($firstUser->sex); }
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])); }
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 testAll() { $users = My_ShantyMongo_User::all(); $this->assertType(PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $users); $this->assertEquals('Shanty_Mongo_Iterator_Cursor', get_class($users)); $this->assertEquals(3, $users->count()); $this->assertEquals('4c04516a1f5f5e21361e3ab0', $users->getNext()->getId()->__toString()); $this->assertEquals('4c04516f1f5f5e21361e3ab1', $users->getNext()->getId()->__toString()); $this->assertEquals('4c0451791f5f5e21361e3ab2', $users->getNext()->getId()->__toString()); $males = My_ShantyMongo_User::all(array('sex' => 'M')); $this->assertType(PHPUnit_Framework_Constraint_IsType::TYPE_OBJECT, $males); $this->assertEquals('Shanty_Mongo_Iterator_Cursor', get_class($males)); $this->assertEquals(2, $males->count()); $this->assertEquals('4c04516a1f5f5e21361e3ab0', $males->getNext()->getId()->__toString()); $this->assertEquals('4c0451791f5f5e21361e3ab2', $males->getNext()->getId()->__toString()); // Test inheritance $students = My_ShantyMongo_Student::all(); $this->assertEquals(2, $students->count()); $this->assertEquals('4c04516f1f5f5e21361e3ab1', $students->getNext()->getId()->__toString()); $this->assertEquals('4c0451791f5f5e21361e3ab2', $students->getNext()->getId()->__toString()); $artstudents = My_ShantyMongo_ArtStudent::all(); $this->assertEquals(1, $artstudents->count()); $this->assertEquals('4c0451791f5f5e21361e3ab2', $artstudents->getNext()->getId()->__toString()); }