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')); }
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())); }