X-Git-Url: http://git.sourceforge.jp/view?p=shogi-server%2Fshogi-server.git;a=blobdiff_plain;f=test%2FTC_command.rb;h=5e231fa39bb56d827d979f4493ecaa83aa270477;hp=dc1c0f51d055845b732815ea5a65e6ad47a10079;hb=aee61c65df8564b76867252f9f299eb205676bfc;hpb=d168a77d26b0ee995991ee798ef1f675bdb30528 diff --git a/test/TC_command.rb b/test/TC_command.rb index dc1c0f5..5e231fa 100644 --- a/test/TC_command.rb +++ b/test/TC_command.rb @@ -2,8 +2,8 @@ $:.unshift File.join(File.dirname(__FILE__), "..") $topdir = File.expand_path File.dirname(__FILE__) require 'test/unit' require 'tempfile' -require 'mock_game' -require 'mock_log_message' +require 'test/mock_game' +require 'test/mock_log_message' require 'test/mock_player' require 'shogi_server/login' require 'shogi_server/player' @@ -233,6 +233,11 @@ class TestFactoryMethod < Test::Unit::TestCase assert_instance_of(ShogiServer::ForkCommand, cmd) end + def test_fork_command2 + cmd = ShogiServer::Command.factory("%%FORK server-denou-14400-60+p1+p2+20130223185013", @p) + assert_instance_of(ShogiServer::ForkCommand, cmd) + end + def test_void_command cmd = ShogiServer::Command.factory("%%%HOGE", @p) assert_instance_of(ShogiServer::VoidCommand, cmd) @@ -242,29 +247,29 @@ class TestFactoryMethod < Test::Unit::TestCase cmd = ShogiServer::Command.factory("should_be_error", @p) assert_instance_of(ShogiServer::ErrorCommand, cmd) cmd.call - assert_match /unknown command should_be_error/, cmd.msg + assert_match /unknown command: should_be_error/, cmd.msg end def test_error_login cmd = ShogiServer::Command.factory("LOGIN hoge foo", @p) assert_instance_of(ShogiServer::ErrorCommand, cmd) cmd.call - assert_no_match /unknown command LOGIN hoge foo/, cmd.msg + assert_no_match /unknown command: LOGIN hoge foo/, cmd.msg cmd = ShogiServer::Command.factory("LOGin hoge foo", @p) assert_instance_of(ShogiServer::ErrorCommand, cmd) cmd.call - assert_no_match /unknown command LOGIN hoge foo/, cmd.msg + assert_no_match /unknown command: LOGIN hoge foo/, cmd.msg cmd = ShogiServer::Command.factory("LOGIN hoge foo", @p) assert_instance_of(ShogiServer::ErrorCommand, cmd) cmd.call - assert_no_match /unknown command LOGIN hoge foo/, cmd.msg + assert_no_match /unknown command: LOGIN hoge foo/, cmd.msg cmd = ShogiServer::Command.factory("LOGINhoge foo", @p) assert_instance_of(ShogiServer::ErrorCommand, cmd) cmd.call - assert_no_match /unknown command LOGIN hoge foo/, cmd.msg + assert_no_match /unknown command: LOGIN hoge foo/, cmd.msg end end @@ -837,19 +842,19 @@ class TestSetBuoyCommand < BaseTestBuoyCommand assert @buoy.is_new_game?("buoy_hoge-1500-0") cmd = ShogiServer::SetBuoyCommand.new "%%SETBUOY", @p, "buoy_hoge-1500-0", "+7776FU", 2 rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert !@buoy.is_new_game?("buoy_hoge-1500-0") assert !$p1.out.empty? assert !$p2.out.empty? buoy_game2 = @buoy.get_game("buoy_hoge-1500-0") - assert_equal ShogiServer::BuoyGame.new("buoy_hoge-1500-0", "+7776FU", @p.name, 1, nil, nil), buoy_game2 + assert_equal ShogiServer::BuoyGame.new("buoy_hoge-1500-0", "+7776FU", @p.name, 1), buoy_game2 end def test_call_1 assert @buoy.is_new_game?("buoy_hoge-1500-0") cmd = ShogiServer::SetBuoyCommand.new "%%SETBUOY", @p, "buoy_hoge-1500-0", "+7776FU", 1 rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert @buoy.is_new_game?("buoy_hoge-1500-0") assert !$p1.out.empty? assert !$p2.out.empty? @@ -859,7 +864,7 @@ class TestSetBuoyCommand < BaseTestBuoyCommand assert @buoy.is_new_game?("buoy_hoge-1500-0") cmd = ShogiServer::SetBuoyCommand.new "%%SETBUOY", @p, "buoyhoge-1500-0", "+7776FU", 1 rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert $p1.out.empty? assert $p2.out.empty? assert @buoy.is_new_game?("buoy_hoge-1500-0") @@ -867,13 +872,13 @@ class TestSetBuoyCommand < BaseTestBuoyCommand def test_call_error_duplicated_game_name assert @buoy.is_new_game?("buoy_duplicated-1500-0") - bg = ShogiServer::BuoyGame.new("buoy_duplicated-1500-0", ["+7776FU"], @p.name, 1, nil, nil) + bg = ShogiServer::BuoyGame.new("buoy_duplicated-1500-0", ["+7776FU"], @p.name, 1) @buoy.add_game bg assert !@buoy.is_new_game?("buoy_duplicated-1500-0") cmd = ShogiServer::SetBuoyCommand.new "%%SETBUOY", @p, "buoy_duplicated-1500-0", "+7776FU", 1 rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert $p1.out.empty? assert $p2.out.empty? assert !@buoy.is_new_game?("buoy_duplicated-1500-0") @@ -883,7 +888,7 @@ class TestSetBuoyCommand < BaseTestBuoyCommand assert @buoy.is_new_game?("buoy_badmoves-1500-0") cmd = ShogiServer::SetBuoyCommand.new "%%SETBUOY", @p, "buoy_badmoves-1500-0", "+7776FU+8786FU", 1 rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert $p1.out.empty? assert $p2.out.empty? assert @buoy.is_new_game?("buoy_badmoves-1500-0") @@ -893,7 +898,7 @@ class TestSetBuoyCommand < BaseTestBuoyCommand assert @buoy.is_new_game?("buoy_badcounter-1500-0") cmd = ShogiServer::SetBuoyCommand.new "%%SETBUOY", @p, "buoy_badcounter-1500-0", "+7776FU", 0 rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert $p1.out.empty? assert $p2.out.empty? assert @buoy.is_new_game?("buoy_badcounter-1500-0") @@ -905,38 +910,38 @@ end # class TestDeleteBuoyCommand < BaseTestBuoyCommand def test_call - buoy_game = ShogiServer::BuoyGame.new("buoy_testdeletebuoy-1500-0", "+7776FU", @p.name, 1, nil, nil) + buoy_game = ShogiServer::BuoyGame.new("buoy_testdeletebuoy-1500-0", "+7776FU", @p.name, 1) assert @buoy.is_new_game?(buoy_game.game_name) @buoy.add_game buoy_game assert !@buoy.is_new_game?(buoy_game.game_name) cmd = ShogiServer::DeleteBuoyCommand.new "%%DELETEBUOY", @p, buoy_game.game_name rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert $p1.out.empty? assert $p2.out.empty? assert @buoy.is_new_game?(buoy_game.game_name) end def test_call_not_exist - buoy_game = ShogiServer::BuoyGame.new("buoy_notexist-1500-0", "+7776FU", @p.name, 1, nil, nil) + buoy_game = ShogiServer::BuoyGame.new("buoy_notexist-1500-0", "+7776FU", @p.name, 1) assert @buoy.is_new_game?(buoy_game.game_name) cmd = ShogiServer::DeleteBuoyCommand.new "%%DELETEBUOY", @p, buoy_game.game_name rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert $p1.out.empty? assert $p2.out.empty? assert @buoy.is_new_game?(buoy_game.game_name) end def test_call_another_player - buoy_game = ShogiServer::BuoyGame.new("buoy_anotherplayer-1500-0", "+7776FU", "another_player", 1, nil, nil) + buoy_game = ShogiServer::BuoyGame.new("buoy_anotherplayer-1500-0", "+7776FU", "another_player", 1) assert @buoy.is_new_game?(buoy_game.game_name) @buoy.add_game(buoy_game) assert !@buoy.is_new_game?(buoy_game.game_name) cmd = ShogiServer::DeleteBuoyCommand.new "%%DELETEBUOY", @p, buoy_game.game_name rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert_equal "##[ERROR] you are not allowed to delete a buoy game that you did not set: buoy_anotherplayer-1500-0\n", @p.out.first assert !@buoy.is_new_game?(buoy_game.game_name) end @@ -944,24 +949,46 @@ end # # +class TestForkCommand < Test::Unit::TestCase + def setup + @player = MockPlayer.new + end + + def test_new_buoy_game_name + src = "%%FORK server+denou-14400-60+p1+p2+20130223185013" + c = ShogiServer::ForkCommand.new src, @player, "server+denou-14400-60+p1+p2+20130223185013", nil, 13 + c.decide_new_buoy_game_name + assert_equal "buoy_denou_13-14400-60", c.new_buoy_game + end + + def test_new_buoy_game_name2 + src = "%%FORK server+denou-14400-060+p1+p2+20130223185013" + c = ShogiServer::ForkCommand.new src, @player, "server+denou-14400-060+p1+p2+20130223185013", nil, 13 + c.decide_new_buoy_game_name + assert_equal "buoy_denou_13-14400-060", c.new_buoy_game + end +end + +# +# class TestGetBuoyCountCommand < BaseTestBuoyCommand def test_call - buoy_game = ShogiServer::BuoyGame.new("buoy_testdeletebuoy-1500-0", "+7776FU", @p.name, 1, nil, nil) + buoy_game = ShogiServer::BuoyGame.new("buoy_testdeletebuoy-1500-0", "+7776FU", @p.name, 1) assert @buoy.is_new_game?(buoy_game.game_name) @buoy.add_game buoy_game assert !@buoy.is_new_game?(buoy_game.game_name) cmd = ShogiServer::GetBuoyCountCommand.new "%%GETBUOYCOUNT", @p, buoy_game.game_name rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert_equal ["##[GETBUOYCOUNT] 1\n", "##[GETBUOYCOUNT] +OK\n"], @p.out end def test_call_not_exist - buoy_game = ShogiServer::BuoyGame.new("buoy_notexist-1500-0", "+7776FU", @p.name, 1, nil, nil) + buoy_game = ShogiServer::BuoyGame.new("buoy_notexist-1500-0", "+7776FU", @p.name, 1) assert @buoy.is_new_game?(buoy_game.game_name) cmd = ShogiServer::GetBuoyCountCommand.new "%%GETBUOYCOUNT", @p, buoy_game.game_name rt = cmd.call - assert :continue, rt + assert_equal :continue, rt assert_equal ["##[GETBUOYCOUNT] -1\n", "##[GETBUOYCOUNT] +OK\n"], @p.out end end @@ -1056,4 +1083,3 @@ class TestMonitorHandler2 < Test::Unit::TestCase @player.out.join) end end -