Add failing tests

This commit is contained in:
Jason Turner
2015-04-16 20:00:48 -06:00
parent f3090c3857
commit 268868f102
2 changed files with 22 additions and 0 deletions

View File

@@ -21,6 +21,8 @@ class TestBaseType
int val;
const int const_val;
std::function<int (int)> func_member;
private:
TestBaseType &operator=(const TestBaseType &);
};
@@ -159,6 +161,13 @@ CHAISCRIPT_MODULE_EXPORT chaiscript::ModulePtr create_chaiscript_module_test_mo
m->add(chaiscript::fun(&TestBaseType::const_val), "const_val");
m->add(chaiscript::fun(&TestBaseType::base_only_func), "base_only_func");
// member that is a function
m->add(chaiscript::fun(&TestBaseType::func_member), "func_member");
m->add(chaiscript::fun<std::function<int(int)> &(std::function<int(int)> &, const std::function<int(int)> &)>(
[](std::function<int (int)> &t_lhs, const std::function<int (int)> &t_rhs)-> std::function<int (int)> &{
return t_lhs = t_rhs;
}), "=");
m->add(chaiscript::fun(&get_new_int), "get_new_int");

View File

@@ -0,0 +1,13 @@
// Test attributes/members that are functions
load_module("test_module")
auto t0 = TestBaseType()
t0.func_member = fun(int i){ i * 3; };
assert_true(func_member(t0)(2) == 6)
assert_true((func_member(t0))(2) == 6)
assert_true((t0.func_member)(2) == 6)
assert_true(t0.func_member(2) == 6)