ChaiScript/unittests/inheritance.chai

27 lines
611 B
ChaiScript

load_module("test_module")
var t0 = TestBaseType()
var t = TestDerivedType();
assert_equal(t0.func(), 0);
assert_equal(t.func(), 1);
assert_equal(10, t0.val);
assert_equal(15, t0.const_val);
assert_equal(10, t.val);
assert_equal(15, t.const_val);
t.val = 23;
assert_equal(23, t.val)
// test_derived_factory returns a TestDerivedType contained
// in a shared_ptr<TestBaseType>. This is testing our ability
// to detect that and do the down casting for the user automatically
// at runtime
var d := derived_type_factory();
assert_equal(t.derived_only_func(), 19);
assert_equal(d.derived_only_func(), 19);