def test_default(self): ref = s.TypeRef('Foo', s.Kind.ENUM, None) classes = {'Foo': quiz.Enum('Foo', {})} resolved = s.resolve_typeref(ref, classes) assert issubclass(resolved, quiz.Nullable) assert resolved.__arg__ is classes['Foo']
def test_non_null(self): ref = s.TypeRef(None, s.Kind.NON_NULL, s.TypeRef('Foo', s.Kind.OBJECT, None)) classes = {'Foo': type('Foo', (), {})} resolved = s.resolve_typeref(ref, classes) assert resolved == classes['Foo']
def test_list(self): ref = s.TypeRef(None, s.Kind.LIST, s.TypeRef('Foo', s.Kind.OBJECT, None)) classes = {'Foo': type('Foo', (), {})} resolved = s.resolve_typeref(ref, classes) assert issubclass(resolved, quiz.Nullable) assert issubclass(resolved.__arg__, quiz.List) assert issubclass(resolved.__arg__.__arg__, quiz.Nullable) assert resolved.__arg__.__arg__.__arg__ == classes['Foo']
def test_list_non_null(self): ref = s.TypeRef( None, s.Kind.NON_NULL, s.TypeRef( None, s.Kind.LIST, s.TypeRef( None, s.Kind.NON_NULL, s.TypeRef("Foo", s.Kind.OBJECT, None), ), ), ) classes = {"Foo": type("Foo", (), {})} resolved = s.resolve_typeref(ref, classes) assert issubclass(resolved, quiz.List) assert resolved.__arg__ == classes["Foo"]