createIndex(); $this->assertEquals("foo", $idx->getName()); $columns = $idx->getColumns(); $this->assertEquals(2, count($columns)); $this->assertEquals(array("bar", "baz"), $columns); $this->assertFalse($idx->isUnique()); $this->assertFalse($idx->isPrimary()); } public function testCreatePrimary() { $idx = $this->createIndex(false, true); $this->assertTrue($idx->isUnique()); $this->assertTrue($idx->isPrimary()); } public function testCreateUnique() { $idx = $this->createIndex(true, false); $this->assertTrue($idx->isUnique()); $this->assertFalse($idx->isPrimary()); } /** * @group DBAL-50 */ public function testFullfilledByUnique() { $idx1 = $this->createIndex(true, false); $idx2 = $this->createIndex(true, false); $idx3 = $this->createIndex(); $this->assertTrue($idx1->isFullfilledBy($idx2)); $this->assertFalse($idx1->isFullfilledBy($idx3)); } /** * @group DBAL-50 */ public function testFullfilledByPrimary() { $idx1 = $this->createIndex(true, true); $idx2 = $this->createIndex(true, true); $idx3 = $this->createIndex(true, false); $this->assertTrue($idx1->isFullfilledBy($idx2)); $this->assertFalse($idx1->isFullfilledBy($idx3)); } /** * @group DBAL-50 */ public function testFullfilledByIndex() { $idx1 = $this->createIndex(); $idx2 = $this->createIndex(); $pri = $this->createIndex(true, true); $uniq = $this->createIndex(true); $this->assertTrue($idx1->isFullfilledBy($idx2)); $this->assertTrue($idx1->isFullfilledBy($pri)); $this->assertTrue($idx1->isFullfilledBy($uniq)); } /** * @group DBAL-220 */ public function testFlags() { $idx1 = $this->createIndex(); $this->assertFalse($idx1->hasFlag('clustered')); $idx1->addFlag('clustered'); $this->assertTrue($idx1->hasFlag('clustered')); $this->assertTrue($idx1->hasFlag('CLUSTERED')); $idx1->removeFlag('clustered'); $this->assertFalse($idx1->hasFlag('clustered')); } /** * @group DBAL-285 */ public function testIndexQuotes() { $index = new Index("foo", array("`bar`", "`baz`")); $this->assertTrue($index->spansColumns(array("bar", "baz"))); $this->assertTrue($index->hasColumnAtPosition("bar", 0)); $this->assertTrue($index->hasColumnAtPosition("baz", 1)); $this->assertFalse($index->hasColumnAtPosition("bar", 1)); $this->assertFalse($index->hasColumnAtPosition("baz", 0)); } }