public function testRemoveColumn()
 {
     $column1 = $this->getColumnMock('id');
     $column2 = $this->getColumnMock('title');
     $column3 = $this->getColumnMock('isbn');
     $table = new Table('books');
     $table->addColumn($column1);
     $table->addColumn($column2);
     $table->addColumn($column3);
     $table->removeColumn($column2);
     $this->assertCount(2, $table->getColumns());
     $this->assertTrue($table->hasColumn('id'));
     $this->assertTrue($table->hasColumn('isbn'));
     $this->assertFalse($table->hasColumn('title'));
 }
Example #2
0
 public function testRemoveColumnFixesPositions()
 {
     $table = new Table();
     $col1 = new Column('Foo1');
     $table->addColumn($col1);
     $col2 = new Column('Foo2');
     $table->addColumn($col2);
     $col3 = new Column('Foo3');
     $table->addColumn($col3);
     $this->assertEquals(1, $col1->getPosition());
     $this->assertEquals(2, $col2->getPosition());
     $this->assertEquals(3, $col3->getPosition());
     $this->assertEquals(array(0, 1, 2), array_keys($table->getColumns()));
     $table->removeColumn($col2);
     $this->assertEquals(1, $col1->getPosition());
     $this->assertEquals(2, $col3->getPosition());
     $this->assertEquals(array(0, 1), array_keys($table->getColumns()));
 }