Reflection and introspection updates for task #85
This commit is contained in:
@@ -48,3 +48,29 @@ assert_equal(true, types[0].bare_equal(bool_type));
|
||||
assert_equal(true, types[1].bare_equal(Object_type));
|
||||
assert_equal(true, types[2].bare_equal(Object_type));
|
||||
assert_equal(2, `<`.get_contained_functions().size());
|
||||
|
||||
|
||||
// guard existence tests
|
||||
|
||||
def with_guard(x) : x > 3 {}
|
||||
def without_guard(x) {}
|
||||
|
||||
def group_guard(x) {}
|
||||
def group_guard(x) : x > 3 {}
|
||||
|
||||
assert_equal(true, with_guard.has_guard());
|
||||
assert_equal(false, without_guard.has_guard());
|
||||
|
||||
assert_equal(2, group_guard.get_contained_functions().size());
|
||||
var group = group_guard.get_contained_functions();
|
||||
|
||||
assert_equal(true, group[0].has_guard())
|
||||
assert_equal(false, group[1].has_guard())
|
||||
|
||||
assert_throws("Function does not have a guard", fun() { group[0].get_guard(); } );
|
||||
assert_throws("Function does not have a guard", fun() { without_guard.get_guard(); } );
|
||||
|
||||
var guard = with_guard.get_guard();
|
||||
|
||||
assert_equal(false, guard.has_guard());
|
||||
assert_throws("Function does not have a guard", fun() { guard.get_guard(); } );
|
||||
|
Reference in New Issue
Block a user