object = new TableProperty($row); } /** * tearDown for test cases * * @return void */ public function tearDown() { unset($this->object); } /** * Test for PMA\libraries\plugins\export\TableProperty::__construct * * @return void */ public function testConstructor() { $this->assertEquals( 'name', $this->object->name ); $this->assertEquals( 'int', $this->object->type ); $this->assertEquals( 1, $this->object->nullable ); $this->assertEquals( 'PRI', $this->object->key ); $this->assertEquals( '0', $this->object->defaultValue ); $this->assertEquals( 'mysql', $this->object->ext ); } /** * Test for PMA\libraries\plugins\export\TableProperty::getPureType * * @return void */ public function testGetPureType() { $this->object->type = "int(10)"; $this->assertEquals( "int", $this->object->getPureType() ); $this->object->type = "char"; $this->assertEquals( "char", $this->object->getPureType() ); } /** * Test for PMA\libraries\plugins\export\TableProperty::isNotNull * * @param string $nullable nullable value * @param string $expected expected output * * @return void * @dataProvider isNotNullProvider */ public function testIsNotNull($nullable, $expected) { $this->object->nullable = $nullable; $this->assertEquals( $expected, $this->object->isNotNull() ); } /** * Data provider for testIsNotNull * * @return array Test Data */ public function isNotNullProvider() { return array( array("NO", "true"), array("", "false"), array("no", "false") ); } /** * Test for PMA\libraries\plugins\export\TableProperty::isUnique * * @param string $key key value * @param string $expected expected output * * @return void * @dataProvider isUniqueProvider */ public function testIsUnique($key, $expected) { $this->object->key = $key; $this->assertEquals( $expected, $this->object->isUnique() ); } /** * Data provider for testIsUnique * * @return array Test Data */ public function isUniqueProvider() { return array( array("PRI", "true"), array("UNI", "true"), array("", "false"), array("pri", "false"), array("uni", "false"), ); } /** * Test for PMA\libraries\plugins\export\TableProperty::getDotNetPrimitiveType * * @param string $type type value * @param string $expected expected output * * @return void * @dataProvider getDotNetPrimitiveTypeProvider */ public function testGetDotNetPrimitiveType($type, $expected) { $this->object->type = $type; $this->assertEquals( $expected, $this->object->getDotNetPrimitiveType() ); } /** * Data provider for testGetDotNetPrimitiveType * * @return array Test Data */ public function getDotNetPrimitiveTypeProvider() { return array( array("int", "int"), array("long", "long"), array("char", "string"), array("varchar", "string"), array("text", "string"), array("longtext", "string"), array("tinyint", "bool"), array("datetime", "DateTime"), array("", "unknown"), array("dummy", "unknown"), array("INT", "unknown") ); } /** * Test for PMA\libraries\plugins\export\TableProperty::getDotNetObjectType * * @param string $type type value * @param string $expected expected output * * @return void * @dataProvider getDotNetObjectTypeProvider */ public function testGetDotNetObjectType($type, $expected) { $this->object->type = $type; $this->assertEquals( $expected, $this->object->getDotNetObjectType() ); } /** * Data provider for testGetDotNetObjectType * * @return array Test Data */ public function getDotNetObjectTypeProvider() { return array( array("int", "Int32"), array("long", "Long"), array("char", "String"), array("varchar", "String"), array("text", "String"), array("longtext", "String"), array("tinyint", "Boolean"), array("datetime", "DateTime"), array("", "Unknown"), array("dummy", "Unknown"), array("INT", "Unknown") ); } /** * Test for PMA\libraries\plugins\export\TableProperty::getIndexName * * @return void */ public function testGetIndexName() { $this->object->name = "ä'7"; $this->object->key = "PRI"; $this->assertEquals( "index=\"ä'7<ab>\"", $this->object->getIndexName() ); $this->object->key = ""; $this->assertEquals( "", $this->object->getIndexName() ); } /** * Test for PMA\libraries\plugins\export\TableProperty::isPK * * @return void */ public function testIsPK() { $this->object->key = "PRI"; $this->assertTrue( $this->object->isPK() ); $this->object->key = ""; $this->assertFalse( $this->object->isPK() ); } /** * Test for PMA\libraries\plugins\export\TableProperty::formatCs * * @return void */ public function testFormatCs() { $this->object->name = 'Name#name#123'; $this->assertEquals( 'text123Namename', $this->object->formatCs("text123#name#") ); } /** * Test for PMA\libraries\plugins\export\TableProperty::formatXml * * @return void */ public function testFormatXml() { $this->object->name = '"a\''; $this->assertEquals( '"a\'index=""a\'"', $this->object->formatXml("#name##indexName#") ); } /** * Test for PMA\libraries\plugins\export\TableProperty::format * * @return void */ public function testFormat() { $this->assertEquals( 'NameintInt32intfalsetrue', $this->object->format( "#ucfirstName##dotNetPrimitiveType##dotNetObjectType##type#" . "#notNull##unique#" ) ); } }