def test_duplicate_ref(self) -> None: t = Table('products') c1 = Column('id', 'integer') c2 = Column('name', 'varchar2') t.add_column(c1) t.add_column(c2) t2 = Table('names') c21 = Column('name_val', 'varchar2') t2.add_column(c21) r1 = TableReference(c2, t2, c21) t.add_ref(r1) r2 = TableReference(c2, t2, c21) self.assertEqual(r1, r2) with self.assertRaises(DuplicateReferenceError): t.add_ref(r2)
def test_ref(self) -> None: t = Table('products') c1 = Column('id', 'integer') c2 = Column('name', 'varchar2') t.add_column(c1) t.add_column(c2) t2 = Table('names') c21 = Column('name_val', 'varchar2') t2.add_column(c21) r = TableReference(c2, t2, c21) t.add_ref(r) expected = \ '''CREATE TABLE "products" ( "id" integer, "name" varchar2, FOREIGN KEY ("name") REFERENCES "names ("name_val") ); ''' self.assertEqual(t.sql, expected)