'Multiple requests can be sent subsequently to the server, and the
protocol orders the responses correctly and dispatch to the
corresponding client command.'

def test_pipelining(self):

    d1 = self.proto.get('foo')
    d1.addCallback(self.assertEqual, (0, 'bar'))
    d2 = self.proto.set('bar', 'spamspamspam')
    d2.addCallback(self.assertEqual, True)
    d3 = self.proto.get('egg')
    d3.addCallback(self.assertEqual, (0, 'spam'))
    self.assertEqual(self.transport.value(), 'get    foo\r\nset    bar    0    0    12\r\nspamspamspam\r\nget    egg\r\n')
    self.proto.dataReceived('VALUE    foo    0    3\r\nbar\r\nEND\r\nSTORED\r\nVALUE    egg    0    4\r\nspam\r\nEND\r\n')
    return gatherResults([d1, d2, d3])
