1 $:.unshift File.join(File.dirname(__FILE__), "..")
4 $topdir = File.expand_path File.dirname(__FILE__)
6 require 'shogi_server/league/floodgate'
7 require 'shogi_server/league/floodgate_thread'
8 require 'test/mock_log_message'
10 class MySetupFloodgate < ShogiServer::SetupFloodgate
11 def initialize(game_names)
13 @is_reload_shogi_server = false
14 @is_start_games = false
16 attr_reader :is_reload_shogi_server, :is_start_games
18 def reload_shogi_server
19 @is_reload_shogi_server = true
22 def start_games(floodgate)
23 @is_start_games = floodgate
27 class TestSetupFloodgate < Test::Unit::TestCase
29 game_names = %w(floodgate-900-0 floodgate-3600-0)
30 @sf = MySetupFloodgate.new game_names
33 def test_initialize_empty
34 sf = ShogiServer::SetupFloodgate.new []
40 leagues = @sf.mk_leagues
41 assert_equal 2, leagues.size
42 assert_equal "floodgate-900-0", leagues[0].game_name
43 assert_equal "floodgate-3600-0", leagues[1].game_name
51 fb.next_time = now + 1
52 assert_equal fa.next_time, @sf.next_league([fa]).next_time
53 assert_equal fa.next_time, @sf.next_league([fa,fb]).next_time
54 assert_equal fa.next_time, @sf.next_league([fb,fa]).next_time
57 def test_wait_next_floodgate
59 f.next_time = Time.now + 1;
60 assert @sf.wait_next_floodgate f
61 f.next_time = Time.now - 1;
62 assert(!@sf.wait_next_floodgate(f))
65 def test_regenerate_leagues
66 game_names = %w(floodgate-900-0 floodgate-3600-0)
69 next_array << ShogiServer::League::Floodgate.new($league,
70 {:game_name => "floodgate-900-0",
71 :next_time => (now+100)})
72 next_array << ShogiServer::League::Floodgate.new($league,
73 {:game_name => "floodgate-3600-0",
74 :next_time => (now+200)})
75 objs = @sf.regenerate_leagues(next_array)
76 assert_equal 2, objs.size
77 assert_instance_of ShogiServer::League::Floodgate, objs[0]
78 assert_instance_of ShogiServer::League::Floodgate, objs[1]
85 ret << ShogiServer::League::Floodgate.new($league,
86 {:game_name => "floodgate-900-0",
87 :next_time => (now-100)})
88 ret << ShogiServer::League::Floodgate.new($league,
89 {:game_name => "floodgate-3600-0",
90 :next_time => (now-200)})
95 assert_instance_of Thread, thread
96 assert_equal("floodgate-3600-0", @sf.is_start_games.game_name)