def test_repr(self):
    self.assertEqual(repr(_Call()), 'call()')
    self.assertEqual(repr(_Call(('foo',))), 'call.foo()')
    self.assertEqual(repr(_Call(((1, 2, 3), {'a': 'b'}))), "call(1, 2, 3, a='b')")
    self.assertEqual(repr(_Call(('bar', (1, 2, 3), {'a': 'b'}))), "call.bar(1, 2, 3, a='b')")
    self.assertEqual(repr(call), 'call')
    self.assertEqual(str(call), 'call')
    self.assertEqual(repr(call()), 'call()')
    self.assertEqual(repr(call(1)), 'call(1)')
    self.assertEqual(repr(call(zz='thing')), "call(zz='thing')")
    self.assertEqual(repr(call().foo), 'call().foo')
    self.assertEqual(repr(call(1).foo.bar(a=3).bing), 'call().foo.bar().bing')
    self.assertEqual(repr(call().foo(1, 2, a=3)), 'call().foo(1, 2, a=3)')
    self.assertEqual(repr(call()()), 'call()()')
    self.assertEqual(repr(call(1)(2)), 'call()(2)')
    self.assertEqual(repr(call()().bar().baz.beep(1)), 'call()().bar().baz.beep(1)')
def test_repr(self):
    self.assertEqual(repr(_Call()), 'call()')
    self.assertEqual(repr(_Call(('foo',))), 'call.foo()')
    self.assertEqual(repr(_Call(((1, 2, 3), {'a': 'b'}))), "call(1, 2, 3, a='b')")
    self.assertEqual(repr(_Call(('bar', (1, 2, 3), {'a': 'b'}))), "call.bar(1, 2, 3, a='b')")
    self.assertEqual(repr(call), 'call')
    self.assertEqual(str(call), 'call')
    self.assertEqual(repr(call()), 'call()')
    self.assertEqual(repr(call(1)), 'call(1)')
    self.assertEqual(repr(call(zz='thing')), "call(zz='thing')")
    self.assertEqual(repr(call().foo), 'call().foo')
    self.assertEqual(repr(call(1).foo.bar(a=3).bing), 'call().foo.bar().bing')
    self.assertEqual(repr(call().foo(1, 2, a=3)), 'call().foo(1, 2, a=3)')
    self.assertEqual(repr(call()()), 'call()()')
    self.assertEqual(repr(call(1)(2)), 'call()(2)')
    self.assertEqual(repr(call()().bar().baz.beep(1)), 'call()().bar().baz.beep(1)')