Rather than unit testing the mock object separately, it might be nice to add a global flag to pymemcache/test/test_client.py that has it use the MockMemcacheClient instead of the normal Client object, and then runs the same set of tests. That would help insure that the mock object has the same contract as the actual client object (and the MockSocket stuff will just be ignored in the alternate version of the tests).