class Net::SSH::Test::Socket

system.
necessary interface for interacting with the rest of the Net::SSH::Test
A mock socket implementation for use in testing. It implements the minimum

def getpeername

socket was instantiated.
Returns a sockaddr struct for the port and host that were used when the
def getpeername
  ::Socket.sockaddr_in(port, host)
end

def initialize

connection.
and seed it with the necessary events to power the initialization of the
Create a new test socket. This will also instantiate a new Net::SSH::Test::Script
def initialize
  extend(Net::SSH::Transport::PacketStream)
  super "SSH-2.0-Test\r\n"
  @script = Script.new
  script.sends(:kexinit)
  script.gets(:kexinit, 1, 2, 3, 4, "test", "ssh-rsa", "none", "none", "none", "none", "none", "none", "", "", false)
  script.sends(:newkeys)
  script.gets(:newkeys)
end

def open(host, port, options = {})

+self+.
Allows the socket to also mimic a socket factory, simply returning
def open(host, port, options = {})
  @host, @port = host, port
  self
end

def readpartial(n)

def readpartial(n)
  recv(n)
end

def recv(n)

Alias to #read, but never returns nil (returns an empty string instead).
def recv(n)
  read(n) || ""
end

def write(data)

written.
This doesn't actually do anything, since we don't really care what gets
def write(data)
  # black hole, because we don't actually care about what gets written
end