Inheritance: extends My_ShantyMongo_User
 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]));
 }
Exemple #3
0
 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());
 }