def test_reference__cyclic_reference(self): a = FuncCallReference(True, None) a.func_ref = a with self.assertRaises(CyclicReferenceError): a.deref(Context()) repr(a) # make sure it doesn't raise an exception
def test_func_call_reference(self): def foo(value, add=0): return value + add foo_ref = FuncCallReference(True, foo, 5, add=7) self.assertEqual(12, foo_ref.deref(Context())) foo_ref = FuncCallReference(True, foo, 5) self.assertEqual(5, foo_ref.deref(Context())) foo_ref = FuncCallReference(True, foo, ObjectReference(True, 5), add=ObjectReference(True, 7)) self.assertEqual(12, foo_ref.deref(Context()))