def test_template_class(): config = Config() config.register_class_specialization("A", "Ad", {"T": "double"}) with cython_extension_from("templateclass.hpp", config=config): from templateclass import Ad a = Ad(5.0) assert_equal(a.get(), 5.0)
def test_template_class(): config = Config() config.register_class_specialization("A", "Ad", {"T": "double"}) with cython_extension_from("templateclass.hpp", config=config): from templateclass import Ad a = Ad(5.0) assert_equal(a.get(), 5.0)
def test_class_specializer(): config = Config() config.register_class_specialization("MyClass", "MyClassDouble", {"T": "double"}) specializer = ClassSpecializer(config) template = TemplateClass("test.hpp", "", "MyClass") template.template_types.append("T") classes = specializer.specialize(template) assert_equal(len(classes), 1) clazz = classes[0] assert_equal(clazz.name, "MyClassDouble") assert_equal(clazz.get_cppname(), "MyClass[double]") assert_equal(clazz.get_attached_typeinfo(), {"T": "double"})
def test_class_specializer(): config = Config() config.register_class_specialization("MyClass", "MyClassDouble", {"T": "double"}) specializer = ClassSpecializer(config) template = TemplateClass("test.hpp", "", "MyClass") template.template_types.append("T") classes = specializer.specialize(template) assert_equal(len(classes), 1) clazz = classes[0] assert_equal(clazz.name, "MyClassDouble") assert_equal(clazz.get_cppname(), "MyClass[double]") assert_equal(clazz.get_attached_typeinfo(), {"T": "double"})