Example #1
0
 def setUp(self):
     super().setUp()
     self.handler_name = "HandlerName"
     self.handler = Handler(self.handler_name)
     self.call_stack = []
     self.return_value = "success"
 def setUp(self):
     super().setUp()
     self.handler_name = "HandlerName"
     self.handler = Handler(self.handler_name)
     self.call_stack = []
     self.return_value = "success"
Example #3
0
class TestHandler(unittest.TestCase):
    def setUp(self):
        super().setUp()
        self.handler_name = "HandlerName"
        self.handler = Handler(self.handler_name)
        self.call_stack = []
        self.return_value = "success"

    def test_init_sets_name(self):
        self.assertEqual(self.handler_name, self.handler.name)

    def test_handle_handles(self):
        self.handler.add_function('f', self.caller)
        self.assertEqual(self.return_value, self.handler.handle(["f"]))
        self.assertEqual([(["f"], {})], self.call_stack)

    def test_handle_on_handlers(self):
        handler = self.handler.add_handler('f')
        handler.add_function("g", self.caller)
        self.assertEqual(self.return_value, self.handler.handle(["f", "g"]))
        self.assertEqual([(["g"], {})], self.call_stack)

    def test_wildcard_name_is_wild(self):
        self.handler.add_function("*", self.caller)
        self.handler.handle(["a"])
        self.handler.handle(["b"])
        self.assertEqual([(["a"], {}), (["b"], {})], self.call_stack)

    def test_exception_on_missing_function(self):
        with self.assertRaises(NoSuchFunctionException):
            self.handler.handle(["a"])

    def test_exception_on_short_name(self):
        self.handler.add_handler('a').add_function('b', self.caller)
        with self.assertRaises(NoSuchFunctionException):
            self.handler.handle(['a'])

    def test_add_handler_twice_reuses_instance(self):
        self.handler.add_handler('a').add_function('f', self.caller)
        self.handler.add_handler('a').add_function('g', self.caller)
        self.assertEqual(self.return_value, self.handler.handle(['a', 'f']))
        self.assertEqual(self.return_value, self.handler.handle(['a', 'g']))

    def test_handler_updates_name_on_wildcard(self):
        handler = self.handler.add_handler("*")
        handler.add_function(
            'f', lambda name, inp: self.assertEqual('T', handler.name))
        self.handler.handle(['T', 'f'])

    def caller(self, name, inp):
        self.call_stack.append((name, inp))
        return self.return_value
class TestHandler(unittest.TestCase):
    def setUp(self):
        super().setUp()
        self.handler_name = "HandlerName"
        self.handler = Handler(self.handler_name)
        self.call_stack = []
        self.return_value = "success"

    def test_init_sets_name(self):
        self.assertEqual(self.handler_name, self.handler.name)

    def test_handle_handles(self):
        self.handler.add_function('f', self.caller)
        self.assertEqual(self.return_value, self.handler.handle(["f"]))
        self.assertEqual([(["f"], {})], self.call_stack)

    def test_handle_on_handlers(self):
        handler = self.handler.add_handler('f')
        handler.add_function("g", self.caller)
        self.assertEqual(self.return_value, self.handler.handle(["f", "g"]))
        self.assertEqual([(["g"], {})], self.call_stack)

    def test_wildcard_name_is_wild(self):
        self.handler.add_function("*", self.caller)
        self.handler.handle(["a"])
        self.handler.handle(["b"])
        self.assertEqual([(["a"], {}), (["b"], {})], self.call_stack)

    def test_exception_on_missing_function(self):
        with self.assertRaises(NoSuchFunctionException):
            self.handler.handle(["a"])

    def test_exception_on_short_name(self):
        self.handler.add_handler('a').add_function('b', self.caller)
        with self.assertRaises(NoSuchFunctionException):
            self.handler.handle(['a'])

    def test_add_handler_twice_reuses_instance(self):
        self.handler.add_handler('a').add_function('f', self.caller)
        self.handler.add_handler('a').add_function('g', self.caller)
        self.assertEqual(self.return_value, self.handler.handle(['a', 'f']))
        self.assertEqual(self.return_value, self.handler.handle(['a', 'g']))

    def test_handler_updates_name_on_wildcard(self):
        handler = self.handler.add_handler("*")
        handler.add_function('f', lambda name, inp: self.assertEqual('T', handler.name))
        self.handler.handle(['T', 'f'])

    def caller(self, name, inp):
        self.call_stack.append((name, inp))
        return self.return_value