def test_ignore_cls(self): """ If first argument is nammed 'cls', ignore that argument (to allow classmethods) """ def test(cls, a, b, c="what"): pass program = Program(model=[test], view=BasicView()) ret = program.get_model_args_kwargs() self.assertEquals((['a', 'b'], {'c': "what"}), ret)
def test_preserve_order(self): def test(a=1, b=2, c=3, d=4): pass program = Program(model=[test], view=BasicView()) a, kw = program.get_model_args_kwargs() self.assertEquals(list(kw.keys()), ['a', 'b', 'c', 'd'])
def test_no_model(self): program = Program(view=BasicView()) ret = program.get_model_args_kwargs() self.assertEquals(([], {}), ret)
def test_empty(self): def test(): pass program = Program(model=[test], view=BasicView()) ret = program.get_model_args_kwargs() self.assertEquals(([], {}), ret)
def test_get_args_kwargs(self): def test(a, b, c="what"): pass program = Program(model=[test], view=BasicView()) ret = program.get_model_args_kwargs() self.assertEquals((['a', 'b'], {'c': "what"}), ret)