def test_AnyOfObject_subclasses():
class FooBar(jst.AnyOfObject):
pass
class Foo(FooBar):
bar = jst.JSONString()
class Bar(FooBar):
bar = jst.JSONNumber()
with pytest.raises(T.TraitError):
FooBar(bar=None)
with pytest.raises(T.TraitError):
FooBar(num=16)
assert FooBar(bar='hello').__class__ == Foo
assert FooBar(bar='blah').bar == 'blah'
assert FooBar(bar=14).__class__ == Bar
assert FooBar(bar=42).bar == 42
评论列表
文章目录