5 class BaseClient < Test::Unit::TestCase
8 params = {"Host" => "localhost", "Port" => port, "Prompt" => //}
9 @socket1 = TCPSocket.open("localhost", port)
11 @socket2 = TCPSocket.open("localhost", port)
21 classname = self.class.name
22 cmd "LOGIN sente#{classname} dummy x1"
23 cmd "%%GAME test#{classname}-1500-0 +"
25 cmd2 "LOGIN gote#{classname} dummy2 x1"
26 cmd2 "%%CHALLENGE test#{classname}-1500-0 -"
38 sleep 2 # to wait for game matching
48 result2 = cmd2 "LOGOUT"
49 result += read_nonblock(@socket1)
50 result2 += read_nonblock(@socket2)
59 str << io.read_nonblock(64)
70 # read the previous return
71 str = read_nonblock(@socket1)
72 @socket1.puts s if s && ! @socket1.closed?
77 # read the previous return
78 str = read_nonblock(@socket2)
79 @socket2.puts s if s && ! @socket2.closed?
101 class ReadFileClient < BaseClient
102 def filepath(csa_file_name)
103 return File.join(File.dirname(__FILE__), "csa", csa_file_name)
112 csa_io = StringIO.new(csa)
113 while line = csa_io.gets do