def test_with_constraint(self) -> None: val = 'user_id integer unique\n' res = table_column.parseString(val, parseAll=True) self.assertEqual(res[0].name, 'user_id') self.assertEqual(res[0].type, 'integer') self.assertTrue(res[0].unique) val2 = 'user_id integer pk unique\n' res2 = table_column.parseString(val2, parseAll=True) self.assertEqual(res2[0].name, 'user_id') self.assertEqual(res2[0].type, 'integer') self.assertTrue(res2[0].unique) self.assertTrue(res2[0].pk)
def test_settings_and_constraints(self) -> None: val = "_test_ \"mytype\" unique pk [not null]\n" res = table_column.parseString(val, parseAll=True) self.assertEqual(res[0].name, '_test_') self.assertEqual(res[0].type, '\"mytype\"') self.assertTrue(res[0].unique) self.assertTrue(res[0].not_null) self.assertTrue(res[0].pk)
def test_with_settings(self) -> None: val = "_test_ \"mytype\" [unique, not null, note: 'to include unit number']\n" res = table_column.parseString(val, parseAll=True) self.assertEqual(res[0].name, '_test_') self.assertEqual(res[0].type, '\"mytype\"') self.assertTrue(res[0].unique) self.assertTrue(res[0].not_null) self.assertTrue(res[0].note is not None)
def test_comment_after(self) -> None: val = 'address varchar //comment after\n' res = table_column.parseString(val, parseAll=True) self.assertEqual(res[0].name, 'address') self.assertEqual(res[0].type, 'varchar') self.assertEqual(res[0].comment, 'comment after') val2 = 'user_id integer pk unique //comment after\n' res2 = table_column.parseString(val2, parseAll=True) self.assertEqual(res2[0].name, 'user_id') self.assertEqual(res2[0].type, 'integer') self.assertTrue(res2[0].unique) self.assertTrue(res2[0].pk) self.assertEqual(res2[0].comment, 'comment after') val3 = "_test_ \"mytype\" unique pk [not null] //comment after\n" res3 = table_column.parseString(val3, parseAll=True) self.assertEqual(res3[0].name, '_test_') self.assertEqual(res3[0].type, '\"mytype\"') self.assertTrue(res3[0].unique) self.assertTrue(res3[0].not_null) self.assertTrue(res3[0].pk) self.assertEqual(res3[0].comment, 'comment after')
def test_comment_above(self) -> None: val = '//comment above\naddress varchar\n' res = table_column.parseString(val, parseAll=True) self.assertEqual(res[0].name, 'address') self.assertEqual(res[0].type, 'varchar') self.assertEqual(res[0].comment, 'comment above')
def test_no_settings(self) -> None: val = 'address varchar(255)\n' res = table_column.parseString(val, parseAll=True) self.assertEqual(res[0].name, 'address') self.assertEqual(res[0].type, 'varchar(255)')