def test_dictionary(self): decorated = {os.path.join: {"A": 1}, Test.read.im_func: {"B": 2}, Test.write.im_func: {"C": 3}} collator = Collator() classes, functions = collator.collate(decorated) self.assertEqual(classes, {Test: [(Test.read, {"B": 2}), (Test.write, {"C": 3})]}) self.assertEqual(len(functions), 1) self.assertEqual(functions.keys()[0].__name__, os.path.__name__) self.assertEqual(functions.values()[0], [(os.path.join, {"A": 1})])
def test_list(self): decorated = [os.path.join, Test.read.im_func, Test.write.im_func] collator = Collator() classes, functions = collator.collate(decorated) self.assertEqual(classes, {Test: [(Test.read, None), (Test.write, None)]}) self.assertEqual(len(functions), 1) self.assertEqual(functions.keys()[0].__name__, os.path.__name__) self.assertEqual(functions.values()[0], [(os.path.join, None)])
def collated(cls): collated = [] c = Collator() classes, functions = c.collate(cls.functions) for c in classes.keys(): collated.append(c) for m in functions.keys(): collated.append(m) return collated
def collated(): collated = [] c = Collator() classes, functions = c.collate(Remote.functions) for c in classes.keys(): collated.append(c) for m in functions.keys(): m.__name__ = m.__name__.split('.')[-1] collated.append(m) return collated
def test_dictionary(self): decorated = { os.path.join: {'A': 1}, Test.read.im_func: {'B': 2}, Test.write.im_func: {'C': 3}, } collator = Collator() classes, functions = collator.collate(decorated) self.assertEqual(classes, {Test: [(Test.read, {'B': 2}), (Test.write, {'C': 3})]}) self.assertEqual(len(functions), 1) self.assertEqual(functions.keys()[0].__name__, os.path.__name__) self.assertEqual(functions.values()[0], [(os.path.join, {'A': 1})])
def test_list(self): decorated = [ os.path.join, Test.read.im_func, Test.write.im_func, ] collator = Collator() classes, functions = collator.collate(decorated) self.assertEqual(classes, {Test: [(Test.read, None), (Test.write, None)]}) self.assertEqual(len(functions), 1) self.assertEqual(functions.keys()[0].__name__, os.path.__name__) self.assertEqual(functions.values()[0], [(os.path.join, None)])
def test_collate(self, _functions, _map): func_globals = {"A": 1} _fn1 = Mock() _fn1.func_globals = func_globals _fn2 = Mock() _fn2.func_globals = func_globals decorated = [_fn1, _fn2] collator = Collator() classes, functions = collator.collate(decorated) _functions.assert_called_with() _map.assert_called_with(func_globals) self.assertEqual(id(classes), id(collator.classes)) self.assertEqual(functions, _functions())
def test_collate(self, _functions, _map): func_globals = {'A': 1} _fn1 = Mock() _fn1.func_globals = func_globals _fn2 = Mock() _fn2.func_globals = func_globals decorated = [_fn1, _fn2] collator = Collator() classes, functions = collator.collate(decorated) _functions.assert_called_with() _map.assert_called_with(func_globals) self.assertEqual(id(classes), id(collator.classes)) self.assertEqual(functions, _functions())
def collated(): collated = [] collator = Collator() classes, functions = collator.collate(Actions.functions) for _class, methods in classes.items(): inst = _class() for method, options in methods: method = getattr(inst, method.__name__) action = Action(method, **options) collated.append(action) for module, fn_list in functions.items(): for function, options in fn_list: action = Action(function, **options) collated.append(action) return collated
def collated(cls): collated = [] c = Collator() classes, functions = c.collate(cls.functions) for c, m in classes.items(): inst = c() for m, d in m: m = getattr(inst, m.__name__) action = Action(m, **d) collated.append(action) for m, f in functions.items(): for f, d in f: action = Action(f, **d) collated.append(action) return collated