| 264 | |
| 265 | |
| 266 | def test_automatic_upcasting(): |
| 267 | assert type(m.return_class_1()).__name__ == "DerivedClass1" |
| 268 | assert type(m.return_class_2()).__name__ == "DerivedClass2" |
| 269 | assert type(m.return_none()).__name__ == "NoneType" |
| 270 | # Repeat these a few times in a random order to ensure no invalid caching is applied |
| 271 | assert type(m.return_class_n(1)).__name__ == "DerivedClass1" |
| 272 | assert type(m.return_class_n(2)).__name__ == "DerivedClass2" |
| 273 | assert type(m.return_class_n(0)).__name__ == "BaseClass" |
| 274 | assert type(m.return_class_n(2)).__name__ == "DerivedClass2" |
| 275 | assert type(m.return_class_n(2)).__name__ == "DerivedClass2" |
| 276 | assert type(m.return_class_n(0)).__name__ == "BaseClass" |
| 277 | assert type(m.return_class_n(1)).__name__ == "DerivedClass1" |
| 278 | |
| 279 | |
| 280 | def test_isinstance(): |