Code Duplication    Length = 21-25 lines in 2 locations

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

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