5 class BaseClient < Test::Unit::TestCase
8 params = {"Host" => "localhost", "Port" => port, "Prompt" => //}
9 @socket1 = TCPSocket.open("localhost", port)
10 @socket2 = TCPSocket.open("localhost", port)
19 classname = self.class.name
20 cmd "LOGIN sente#{classname} dummy x1"
21 cmd "%%GAME test#{classname}-1500-0 +"
23 cmd2 "LOGIN gote#{classname} dummy2 x1"
24 cmd2 "%%CHALLENGE test#{classname}-1500-0 -"
36 sleep 2 # to wait for game matching
46 result2 = cmd2 "LOGOUT"
47 result += read_nonblock(@socket1)
48 result2 += read_nonblock(@socket2)
57 str << io.read_nonblock(64)
68 # read the previous return
69 str = read_nonblock(@socket1)
70 @socket1.puts s if s && ! @socket1.closed?
75 # read the previous return
76 str = read_nonblock(@socket2)
77 @socket2.puts s if s && ! @socket2.closed?
99 class ReadFileClient < BaseClient
100 def filepath(csa_file_name)
101 return File.join(File.dirname(__FILE__), "csa", csa_file_name)
110 csa_io = StringIO.new(csa)
111 while line = csa_io.gets do