/** * @covers Org\Snje\Minifw\Table::get */ public function test_get() { $table1 = TableWithAll::get(); $this->assertEquals('Org\\Snje\\MinifwTest\\Table\\TableWithAll', get_class($table1)); $table2 = TableWithOne::get(); $this->assertEquals('Org\\Snje\\MinifwTest\\Table\\TableWithOne', get_class($table2)); $this->assertNotEquals($table2, $table1); $table3 = TableWithAll::get(); $this->assertEquals($table1, $table3); $table4 = TableWithAll::get(['id' => 'def']); $this->assertEquals($table1, $table4); }
/** * @covers Org\Snje\Minifw\Table::create * @covers Org\Snje\Minifw\Table::drop */ public function test_create() { $table_create = TableWithAll::get(); $table_create->drop(); $table_create->create(); $db = \Org\Snje\Minifw\DB::get(); $sql = 'show create table `' . $table_create::TBNAME . '`'; $ret = $db->get_query($sql); $this->assertArrayHasKey(0, $ret); $ret = $ret[0]; $leftsql = $ret['Create Table']; $rightsql = 'CREATE TABLE `table_with_all` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT \'ID\', `intfield` int(11) NOT NULL COMMENT \'A int field\', `charfield` varchar(200) NOT NULL COMMENT \'A varchar field\', `textfield` text NOT NULL COMMENT \'A text field\', `intfield_def` int(11) NOT NULL DEFAULT \'0\' COMMENT \'A int field\', `charfield_def` varchar(200) NOT NULL DEFAULT \'\' COMMENT \'A varchar field\', PRIMARY KEY (`id`), UNIQUE KEY `uniqueindex` (`intfield`), KEY `charfield` (`charfield`), KEY `intfield` (`intfield`,`charfield`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=\'Table To Create\''; $this->assertEquals($rightsql, $leftsql); $table_create = TableWithOne::get(); $table_create->drop(); $table_create->create(); $sql = 'show create table `' . $table_create::TBNAME . '`'; $ret = $db->get_query($sql); $this->assertArrayHasKey(0, $ret); $ret = $ret[0]; $leftsql = $ret['Create Table']; $rightsql = 'CREATE TABLE `table_with_one` ( `intfield` int(11) NOT NULL COMMENT \'A int field\' ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=\'Table To Create\''; $this->assertEquals($rightsql, $leftsql); }