diff --git a/tests/test_1doc.py b/tests/test_1doc.py index 43ceb692..b1aa6137 100644 --- a/tests/test_1doc.py +++ b/tests/test_1doc.py @@ -1746,6 +1746,44 @@ def test_decl(self): doc = WDL.parse_document(doc) doc.typecheck() + doc = r""" + version 1.0 + + workflow UsePerson { + Person p + } + + struct Person { + String name + Array[Person] circular + } + """ + doc = WDL.parse_document(doc) + with self.assertRaises(WDL.Error.CircularDependencies): + doc.typecheck() + + doc = r""" + version 1.0 + + workflow UsePerson { + Person p + } + + struct Person { + String name + Array[Car] cars + } + + struct Car { + String make + String model + Person owner + } + """ + doc = WDL.parse_document(doc) + with self.assertRaises(WDL.Error.CircularDependencies): + doc.typecheck() + def test_import(self): doc = r""" version 1.0