(self)
| 34 | self.assertEqual(self._default_value, self.obj.value) # type:ignore[attr-defined] |
| 35 | |
| 36 | def test_allow_none(self) -> None: |
| 37 | if ( |
| 38 | hasattr(self, "_bad_values") |
| 39 | and hasattr(self, "_good_values") |
| 40 | and None in self._bad_values |
| 41 | ): |
| 42 | trait = self.obj.traits()["value"] # type:ignore[attr-defined] |
| 43 | try: |
| 44 | trait.allow_none = True |
| 45 | self._bad_values.remove(None) |
| 46 | # skip coerce. Allow None casts None to None. |
| 47 | self.assign(None) |
| 48 | self.assertEqual(self.obj.value, None) # type:ignore[attr-defined] |
| 49 | self.test_good_values() |
| 50 | self.test_bad_values() |
| 51 | finally: |
| 52 | # tear down |
| 53 | trait.allow_none = False |
| 54 | self._bad_values.append(None) |
| 55 | |
| 56 | def tearDown(self) -> None: |
| 57 | # restore default value after tests, if set |
nothing calls this directly
no test coverage detected