The code below throws. It shouldn't!
var factory = new FakeConnectionFactory();
var connection = factory.CreateConnection();
connection.Close();
connection = factory.CreateConnection();
connection.Close(); // This throws, saying the connection is already closed!