| 1087 | self.assertRaises(TraitError, setattr, a, "inst", Bah()) |
| 1088 | |
| 1089 | def test_default_klass(self): |
| 1090 | class Foo: |
| 1091 | pass |
| 1092 | |
| 1093 | class Bar(Foo): |
| 1094 | pass |
| 1095 | |
| 1096 | class Bah: |
| 1097 | pass |
| 1098 | |
| 1099 | class FooInstance(Instance[Foo]): |
| 1100 | klass = Foo |
| 1101 | |
| 1102 | class A(HasTraits): |
| 1103 | inst = FooInstance(allow_none=True) |
| 1104 | |
| 1105 | a = A() |
| 1106 | self.assertTrue(a.inst is None) |
| 1107 | a.inst = Foo() |
| 1108 | self.assertTrue(isinstance(a.inst, Foo)) |
| 1109 | a.inst = Bar() |
| 1110 | self.assertTrue(isinstance(a.inst, Foo)) |
| 1111 | self.assertRaises(TraitError, setattr, a, "inst", Foo) |
| 1112 | self.assertRaises(TraitError, setattr, a, "inst", Bar) |
| 1113 | self.assertRaises(TraitError, setattr, a, "inst", Bah()) |
| 1114 | |
| 1115 | def test_unique_default_value(self): |
| 1116 | class Foo: |