示例#1
0
 def test_validatetable_bad_missing(self):
     """ Tests that validatetable method returns False when supplied a table not in the database """
     testtable = Table.TableConstructor("notatable",
                                        columns=[
                                            objects.Column("notaname",
                                                           datatype="REAL"),
                                            objects.Column("notavalue",
                                                           datatype="BLOB")
                                        ])
     self.assertFalse(self.connection.validatetable(testtable))
示例#2
0
 def test_validatetable_bad_different(self):
     """ Tests that validatetable method returns False when supplied with a table that is in the database, but whose structure is different than implemented. """
     testtable = Table.TableConstructor("testtable",
                                        columns=[
                                            objects.Column("notaname",
                                                           datatype="REAL"),
                                            objects.Column("notavalue",
                                                           datatype="BLOB")
                                        ])
     self.assertFalse(self.connection.validatetable(testtable))
示例#3
0
 def test_tableconstructor_addcolumn(self):
     """ Tests various values for TC.addcolumn() """
     for value,name,result in [ ("bool BOOLEAN NOT NULL", "bool", objects.Column("bool",table = self.tablecon, datatype = "BOOLEAN", constraints = [objects.Constraint("NOT NULL"),])),
                               ]:
         with self.subTest(value = value, name = name, result = result):
             self.tablecon.addcolumn(value)
             self.assertTrue(name in self.tablecon.columns)
             self.assertEqual(self.tablecon.columns[name],result)
示例#4
0
 def test_addcolumn(self):
     """ Tests the addcolumn functionality of AdvancedTable. Test based on TableConstructorCase.addcolumn. """
     table = self.connection.getadvancedtable("testtable")
     for value,name,result in [ ("bool BOOLEAN NOT NULL DEFAULT 1", "bool", objects.Column("bool",table = table, datatype = "BOOLEAN", constraints = [objects.Constraint("NOT NULL"),objects.Constraint("DEFAULT",info = "1")])),
                               ]:
         with self.subTest(table = table, value = value, name = name, result = result):
             table.addcolumn(value)
             self.assertTrue(name in table.columns)
             self.assertEqual(table.columns[name],result)
             newtable = self.connection.getadvancedtable("testtable")
             self.assertTrue(name in newtable.columns)
             self.assertEqual(newtable.columns[name],result)
示例#5
0
 def test_basic_parsecolumn(self):
     """ A basic test for Parser.parse_column """
     table = sql.TableConstructor("testtable", columns = [objects.Column("blah"),]).to_table()
     for (definition,column) in [("name TEXT",objects.Column("name",datatype="TEXT")),]:
         with self.subTest(definition = definition, column = column):
             self.assertEqual(Parser.parse_column(definition,table),column)