1 $:.unshift File.join(File.dirname(__FILE__), "..")
2 $topdir = File.expand_path File.dirname(__FILE__)
4 require 'shogi_server/buoy'
7 require 'mock_log_message'
10 class TestBuoyGame < Test::Unit::TestCase
12 g1 = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 1)
13 g2 = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 1)
18 g1 = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 1)
19 g2 = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 2)
20 assert_not_equal g1, g2
25 class TestBuoy < Test::Unit::TestCase
27 @dir = File.dirname(__FILE__)
28 @filename = File.join(@dir, "buoy.yaml")
29 @conf = {:topdir => @dir}
30 @buoy = ShogiServer::Buoy.new @conf
34 if File.exist? @filename
40 assert(ShogiServer::Buoy.game_name?("buoy_hoge-1500-0"))
41 assert(ShogiServer::Buoy.game_name?("buoy_hoge-900-0"))
42 assert(ShogiServer::Buoy.game_name?("buoy_hoge-0-30"))
43 assert(!ShogiServer::Buoy.game_name?("buoyhoge-1500-0"))
44 assert(!ShogiServer::Buoy.game_name?("hoge-1500-0"))
48 assert @buoy.is_new_game?("buoy_123-900-0")
52 game = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 1)
54 assert !@buoy.is_new_game?("buoy_1234-900-0")
55 game2 = @buoy.get_game(game.game_name)
56 assert_equal game, game2
58 @buoy.delete_game game
59 assert @buoy.is_new_game?("buoy_1234-900-0")
63 game = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 2)
65 g2 = ShogiServer::BuoyGame.new(game.game_name, game.moves, game.owner, game.count-1)
68 get = @buoy.get_game(g2.game_name)
74 class TestBuoyObserver < Test::Unit::TestCase
76 @dir = File.dirname(__FILE__)
77 @filename = File.join(@dir, "buoy.yaml")
78 @conf = {:topdir => @dir}
79 @buoy = ShogiServer::Buoy.new @conf
83 if File.exist? @filename
88 def test_update_game_result_win
94 buoy_game = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 2)
95 assert @buoy.is_new_game?(buoy_game.game_name)
96 @buoy.add_game buoy_game
97 assert !@buoy.is_new_game?(buoy_game.game_name)
100 game.game_name = buoy_game.game_name
101 gr = ShogiServer::GameResultWin.new game, p1, p2
103 observer = ShogiServer::BuoyObserver.new
106 assert !@buoy.is_new_game?(buoy_game.game_name)
107 buoy_game2 = @buoy.get_game(buoy_game.game_name)
108 assert_equal 1, buoy_game2.count
111 def test_update_game_result_win_zero
117 buoy_game = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 1)
118 assert @buoy.is_new_game?(buoy_game.game_name)
119 @buoy.add_game buoy_game
120 assert !@buoy.is_new_game?(buoy_game.game_name)
123 game.game_name = buoy_game.game_name
124 gr = ShogiServer::GameResultWin.new game, p1, p2
126 observer = ShogiServer::BuoyObserver.new
129 assert @buoy.is_new_game?(buoy_game.game_name)
132 def test_update_game_result_draw
138 buoy_game = ShogiServer::BuoyGame.new("buoy_1234-900-0", [], "p1", 2)
139 assert @buoy.is_new_game?(buoy_game.game_name)
140 @buoy.add_game buoy_game
141 assert !@buoy.is_new_game?(buoy_game.game_name)
144 game.game_name = buoy_game.game_name
145 gr = ShogiServer::GameResultDraw.new game, p1, p2
147 observer = ShogiServer::BuoyObserver.new
150 assert !@buoy.is_new_game?(buoy_game.game_name)
151 buoy_game2 = @buoy.get_game(buoy_game.game_name)
152 assert_equal 2, buoy_game2.count