Example #1
0
 def test_declared_function_is_accessible(self):
     scope = Scope()
     scope.declare_func(AccessLevel.internal, "foo", {"x": Int}, Int)
     self.assertDictEqual(
         scope.accessible_functions(),
         {
             "foo": FunctionType(AccessLevel.internal, {"x": Int}, Int),
         }
     )
Example #2
0
 def test_accessible_functions_access_level_filter(self):
     scope = Scope()
     scope.declare_func(AccessLevel.public, "foo", {}, Int)
     scope.declare_func(AccessLevel.internal, "bar", {}, Int)
     scope.declare_func(AccessLevel.private, "baz", {}, Int)
     self.assertSetEqual(
         set(scope.accessible_functions(at_least=AccessLevel.public).keys()),
         {"foo"}
     )
     self.assertSetEqual(
         set(scope.accessible_functions(at_least=AccessLevel.internal).keys()),
         {"foo", "bar"}
     )
     self.assertSetEqual(
         set(scope.accessible_functions(at_least=AccessLevel.private).keys()),
         {"foo", "bar", "baz"}
     )