Code Duplication    Length = 21-25 lines in 2 locations

tests/Doctrine/Tests/DBAL/Functional/Schema/PostgreSqlSchemaManagerTest.php 2 locations

@@ 87-111 (lines=25) @@
84
    /**
85
     * @group DBAL-37
86
     */
87
    public function testAlterTableAutoIncrementAdd()
88
    {
89
        $tableFrom = new \Doctrine\DBAL\Schema\Table('autoinc_table_add');
90
        $column = $tableFrom->addColumn('id', 'integer');
91
        $this->_sm->createTable($tableFrom);
92
        $tableFrom = $this->_sm->listTableDetails('autoinc_table_add');
93
        self::assertFalse($tableFrom->getColumn('id')->getAutoincrement());
94
95
        $tableTo = new \Doctrine\DBAL\Schema\Table('autoinc_table_add');
96
        $column = $tableTo->addColumn('id', 'integer');
97
        $column->setAutoincrement(true);
98
99
        $c = new \Doctrine\DBAL\Schema\Comparator();
100
        $diff = $c->diffTable($tableFrom, $tableTo);
101
        $sql = $this->_conn->getDatabasePlatform()->getAlterTableSQL($diff);
102
        self::assertEquals(array(
103
            "CREATE SEQUENCE autoinc_table_add_id_seq",
104
            "SELECT setval('autoinc_table_add_id_seq', (SELECT MAX(id) FROM autoinc_table_add))",
105
            "ALTER TABLE autoinc_table_add ALTER id SET DEFAULT nextval('autoinc_table_add_id_seq')",
106
        ), $sql);
107
108
        $this->_sm->alterTable($diff);
109
        $tableFinal = $this->_sm->listTableDetails('autoinc_table_add');
110
        self::assertTrue($tableFinal->getColumn('id')->getAutoincrement());
111
    }
112
113
    /**
114
     * @group DBAL-37
@@ 116-136 (lines=21) @@
113
    /**
114
     * @group DBAL-37
115
     */
116
    public function testAlterTableAutoIncrementDrop()
117
    {
118
        $tableFrom = new \Doctrine\DBAL\Schema\Table('autoinc_table_drop');
119
        $column = $tableFrom->addColumn('id', 'integer');
120
        $column->setAutoincrement(true);
121
        $this->_sm->createTable($tableFrom);
122
        $tableFrom = $this->_sm->listTableDetails('autoinc_table_drop');
123
        self::assertTrue($tableFrom->getColumn('id')->getAutoincrement());
124
125
        $tableTo = new \Doctrine\DBAL\Schema\Table('autoinc_table_drop');
126
        $column = $tableTo->addColumn('id', 'integer');
127
128
        $c = new \Doctrine\DBAL\Schema\Comparator();
129
        $diff = $c->diffTable($tableFrom, $tableTo);
130
        self::assertInstanceOf('Doctrine\DBAL\Schema\TableDiff', $diff, "There should be a difference and not false being returned from the table comparison");
131
        self::assertEquals(array("ALTER TABLE autoinc_table_drop ALTER id DROP DEFAULT"), $this->_conn->getDatabasePlatform()->getAlterTableSQL($diff));
132
133
        $this->_sm->alterTable($diff);
134
        $tableFinal = $this->_sm->listTableDetails('autoinc_table_drop');
135
        self::assertFalse($tableFinal->getColumn('id')->getAutoincrement());
136
    }
137
138
    /**
139
     * @group DBAL-75