| from cpp11_director_using_constructor import * |
| |
| |
| # Public base constructors |
| a = PublicDerived1(0, "hi").meth() |
| a = PublicDerived2().meth() |
| a = PublicDerived2(0, "hi").meth() |
| a = PublicDerived3().meth() |
| a = PublicDerived3(0, "hi").meth() |
| a = PublicDerived4().meth() |
| a = PublicDerived5().meth() |
| |
| # Protected base constructors |
| # Cannot test most of these as the constructors are protected |
| ProtectedDerived5() |
| |
| # Mix of public and overloaded constructors |
| MixedDerived1a(0, "hi").meth() |
| MixedDerived1a().meth() |
| MixedDerived1b(0, "hi").meth() |
| MixedDerived1b().meth() |
| |
| MixedDerived2a(0, "hi").meth() |
| MixedDerived2a().meth() |
| MixedDerived2b(0, "hi").meth() |
| MixedDerived2b().meth() |
| |
| MixedDerived2c(0, "hi").meth() |
| MixedDerived2c().meth() |
| MixedDerived2c(0).meth() |
| |
| MixedDerived2d(0, "hi").meth() |
| MixedDerived2d().meth() |
| MixedDerived2d(0).meth() |
| |
| MixedDerived3a(0, "hi").meth() |
| MixedDerived3a().meth() |
| MixedDerived3b(0, "hi").meth() |
| MixedDerived3b().meth() |
| |
| MixedDerived3c(0, "hi").meth() |
| MixedDerived3c().meth() |
| MixedDerived3c(0).meth() |
| |
| MixedDerived3d(0, "hi").meth() |
| MixedDerived3d().meth() |
| MixedDerived3d(0).meth() |
| |
| MixedDerived4a(0, "hi").meth() |
| MixedDerived4a().meth() |
| MixedDerived4b(0, "hi").meth() |
| MixedDerived4b().meth() |
| |
| MixedDerived4c().meth() |
| MixedDerived4c(0).meth() |
| |
| MixedDerived4d().meth() |
| MixedDerived4d(0).meth() |
| |
| MixedDerived4e().meth() |
| |
| MixedDerived4f().meth() |
| |
| # Mix of protected base constructors and overloading |
| ProotDerived1a().meth() |
| |
| ProotDerived1b(0, "hi").meth() |
| ProotDerived1b().meth() |
| |
| ProotDerived1c(0, "hi").meth() |
| ProotDerived1c().meth() |
| |
| ProotDerived1d(0).meth() |
| ProotDerived1d().meth() |
| |
| ProotDerived1e(0).meth() |
| ProotDerived1e().meth() |
| |
| ProotDerived2a(0, "hi").meth() |
| |
| ProotDerived2b(0, "hi").meth() |
| |
| ProotDerived2c(0, "hi").meth() |
| ProotDerived2c().meth() |
| |
| ProotDerived2d(0, "hi").meth() |
| ProotDerived2d().meth() |
| |
| ProotDerived2e(0, "hi").meth() |
| ProotDerived2e().meth() |
| |
| ProotDerived2f(0, "hi").meth() |
| ProotDerived2f().meth() |
| ProotDerived2f(0).meth() |
| |
| # Deeper inheritance chain |
| db3 = DeepBase3(11) |
| db3 = DeepBase3(11, 22) |
| db3 = DeepBase3(11, 22, 33) |
| dbp3 = DeepProtectedBase3(11, 22, 33) |
| |
| # Missing base |
| HiddenDerived1() |
| |
| # Templates and public base constructors (derive from non-template) |
| TemplatePublicDerived1Int(0, "hi").meth() |
| TemplatePublicDerived2Int().meth() |
| TemplatePublicDerived2Int(0, "hi").meth() |
| TemplatePublicDerived3Int().meth() |
| TemplatePublicDerived3Int(0, "hi").meth() |
| TemplatePublicDerived4Int().meth() |
| TemplatePublicDerived5Int().meth() |
| |
| # Templates and public base constructors (derive from template) |
| TemplPublicDerived1Int(0, "hi").meth() |
| TemplPublicDerived2Int().meth() |
| TemplPublicDerived2Int(0, "hi").meth() |
| TemplPublicDerived3Int().meth() |
| TemplPublicDerived3Int(0, "hi").meth() |
| TemplPublicDerived4Int().meth() |
| TemplPublicDerived5Int().meth() |
| TemplPublicDerived6Int(0, "hi").meth() |
| TemplPublicDerived6Int().meth() |
| |
| # Templated constructors (public) |
| tcb = TemplateConstructor1Base(0, "hi") |
| tcb = TemplateConstructor1Base("hi", "hi") |
| tcb = TemplateConstructor1Base(11.1, "hi") |
| tcb.normal_method() |
| tcb.template_method(0, "hi") |
| tcb.template_method("hey", "ho") |
| |
| tcd1 = TemplateConstructor1Derived(0, "hi") |
| tcd1 = TemplateConstructor1Derived("hi", "hi") |
| tcd1 = TemplateConstructor1Derived(11.1, "hi") |
| # Not the best test as these are also in the base class, (should use introspection to check) |
| tcd1.normal_method() |
| tcd1.template_method(0, "hi") |
| tcd1.template_method("hey", "ho") |
| |
| # Templated constructors (protected) |
| tcd2 = TemplateConstructor2Derived() |
| tcd2.normal_method() |
| tcd2.template_method(0, "hi") |
| tcd2.template_method("hey", "ho") |