mocksocket
tiny class providing an IO/TCPSocket mock, full duplex and everything. mainly useful for testing TCPSocket applications.
>> require ‘mocksocket’ >> client, server = MockSocket.pipe #=> [M, M] >> client.puts “hello, I’m a client!” >> server.gets #=> “hello, I’m a client!n” >> server.puts “welcome, client.” >> client.gets #=> “welcome, client.n”
it uses Timeout, so instead of stalled tests, you get some timeout exception, if you’re trying to read from an empty buffer.
methods implemented: #puts, #print, #gets, #eof? and the ever-handy #empty?
as well there’s tiny test extensions for test/unit:
require 'mocksocket/test'
module Test::Unit::Assertions
include MockSocket::Assertions
end
def setup
@c, @s = MockSocket.pipe
end
def test_empty_buffer
assert_empty_buffer @c
end
.. and bacon:
require 'mocksocket/bacon'
describe "awesome" do
before { @c, @s = MockSocket.pipe }
end
should "be empty" do
@c.should.be empty_buffer
end
that’s about it. © 2009 harry vangberg and released under the MIT license. enjoy.