acpc_poker_types 6.2.3 → 7.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. checksums.yaml +4 -4
  2. data/lib/acpc_poker_types.rb +2 -2
  3. data/lib/acpc_poker_types/dealer_data.rb +9 -0
  4. data/lib/acpc_poker_types/{acpc_dealer_data → dealer_data}/action_messages.rb +10 -10
  5. data/lib/acpc_poker_types/{acpc_dealer_data → dealer_data}/hand_data.rb +4 -4
  6. data/lib/acpc_poker_types/{acpc_dealer_data → dealer_data}/hand_results.rb +8 -8
  7. data/lib/acpc_poker_types/{acpc_dealer_data → dealer_data}/log_file.rb +1 -1
  8. data/lib/acpc_poker_types/{acpc_dealer_data → dealer_data}/match_definition.rb +1 -1
  9. data/lib/acpc_poker_types/{acpc_dealer_data → dealer_data}/poker_match_data.rb +44 -56
  10. data/lib/acpc_poker_types/{player_group.rb → hand_player_group.rb} +1 -1
  11. data/lib/acpc_poker_types/match_state.rb +11 -8
  12. data/lib/acpc_poker_types/player.rb +50 -0
  13. data/lib/acpc_poker_types/players_at_the_table.rb +168 -0
  14. data/lib/acpc_poker_types/version.rb +1 -1
  15. data/spec/{action_messages_spec.rb → dealer_data/action_messages_spec.rb} +60 -61
  16. data/spec/{hand_data_spec.rb → dealer_data/hand_data_spec.rb} +26 -27
  17. data/spec/{hand_results_spec.rb → dealer_data/hand_results_spec.rb} +17 -18
  18. data/spec/{match_definition_spec.rb → dealer_data/match_definition_spec.rb} +10 -11
  19. data/spec/{poker_match_data_spec.rb → dealer_data/poker_match_data_spec.rb} +48 -7
  20. data/spec/{player_group_spec.rb → hand_player_group_spec.rb} +3 -10
  21. data/spec/hand_player_spec.rb +1 -1
  22. data/spec/match_state_spec.rb +118 -76
  23. data/spec/player_spec.rb +45 -0
  24. data/spec/players_at_the_table_spec.rb +133 -0
  25. metadata +60 -136
  26. data/lib/acpc_poker_types/acpc_dealer_data.rb +0 -9
  27. data/spec/coverage/assets/0.7.1/application.css +0 -1110
  28. data/spec/coverage/assets/0.7.1/application.js +0 -626
  29. data/spec/coverage/assets/0.7.1/fancybox/blank.gif +0 -0
  30. data/spec/coverage/assets/0.7.1/fancybox/fancy_close.png +0 -0
  31. data/spec/coverage/assets/0.7.1/fancybox/fancy_loading.png +0 -0
  32. data/spec/coverage/assets/0.7.1/fancybox/fancy_nav_left.png +0 -0
  33. data/spec/coverage/assets/0.7.1/fancybox/fancy_nav_right.png +0 -0
  34. data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_e.png +0 -0
  35. data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_n.png +0 -0
  36. data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_ne.png +0 -0
  37. data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_nw.png +0 -0
  38. data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_s.png +0 -0
  39. data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_se.png +0 -0
  40. data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_sw.png +0 -0
  41. data/spec/coverage/assets/0.7.1/fancybox/fancy_shadow_w.png +0 -0
  42. data/spec/coverage/assets/0.7.1/fancybox/fancy_title_left.png +0 -0
  43. data/spec/coverage/assets/0.7.1/fancybox/fancy_title_main.png +0 -0
  44. data/spec/coverage/assets/0.7.1/fancybox/fancy_title_over.png +0 -0
  45. data/spec/coverage/assets/0.7.1/fancybox/fancy_title_right.png +0 -0
  46. data/spec/coverage/assets/0.7.1/fancybox/fancybox-x.png +0 -0
  47. data/spec/coverage/assets/0.7.1/fancybox/fancybox-y.png +0 -0
  48. data/spec/coverage/assets/0.7.1/fancybox/fancybox.png +0 -0
  49. data/spec/coverage/assets/0.7.1/favicon_green.png +0 -0
  50. data/spec/coverage/assets/0.7.1/favicon_red.png +0 -0
  51. data/spec/coverage/assets/0.7.1/favicon_yellow.png +0 -0
  52. data/spec/coverage/assets/0.7.1/loading.gif +0 -0
  53. data/spec/coverage/assets/0.7.1/magnify.png +0 -0
  54. data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  55. data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  56. data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  57. data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  58. data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  59. data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  60. data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  61. data/spec/coverage/assets/0.7.1/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  62. data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_222222_256x240.png +0 -0
  63. data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  64. data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_454545_256x240.png +0 -0
  65. data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_888888_256x240.png +0 -0
  66. data/spec/coverage/assets/0.7.1/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  67. data/spec/coverage/index.html +0 -72
@@ -0,0 +1,50 @@
1
+ require 'delegate'
2
+
3
+ require 'acpc_poker_types/chip_stack'
4
+ require 'acpc_poker_types/hand_player'
5
+ require 'acpc_poker_types/hand'
6
+
7
+ module AcpcPokerTypes
8
+
9
+ class NilHandPlayer < HandPlayer
10
+ def initialize()
11
+ @hand = Hand.new
12
+ @initial_stack = 0
13
+ @ante = 0
14
+ @winnings = ChipStack.new 0
15
+ @actions = [[]]
16
+ end
17
+ def stack() 0 end
18
+ def contributions() [] end
19
+ def total_contribution() 0 end
20
+ def legal_actions(
21
+ round: 0,
22
+ amount_to_call: ChipStack.new(0),
23
+ wager_illegal: false
24
+ ) [] end
25
+ def inactive?() false end
26
+ def all_in?() false end
27
+ def folded?() false end
28
+ end
29
+
30
+ class Player < DelegateClass(HandPlayer)
31
+ attr_reader :seat, :hand_player
32
+ attr_accessor :balance
33
+
34
+ def initialize(seat)
35
+ @seat = seat
36
+ @balance = 0
37
+ @hand_player = NilHandPlayer.new
38
+
39
+ super @hand_player
40
+ end
41
+
42
+ def hand_player=(new_hand_player)
43
+ @hand_player = new_hand_player
44
+
45
+ __setobj__ @hand_player
46
+
47
+ @hand_player
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,168 @@
1
+ require 'acpc_poker_types/seat'
2
+ require 'acpc_poker_types/poker_action'
3
+ require 'acpc_poker_types/player'
4
+
5
+ require 'contextual_exceptions'
6
+ using ContextualExceptions::ClassRefinement
7
+
8
+ module AcpcPokerTypes
9
+ module MapWithIndex
10
+ refine Array do
11
+ def map_with_index
12
+ i = 0
13
+ map do |elem|
14
+ result = yield elem, i
15
+ i += 1
16
+ result
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ using AcpcPokerTypes::MapWithIndex
23
+
24
+
25
+ module AcpcPokerTypes
26
+
27
+ class PlayersAtTheTable
28
+ exceptions :player_acted_before_sitting_at_table,
29
+ :no_players_to_seat, :multiple_players_have_the_same_seat
30
+
31
+ attr_reader :players, :match_state, :game_def
32
+
33
+ class << self; alias_method(:seat_players, :new) end
34
+
35
+ # @param [GameDefinition] game_def The game definition for the
36
+ # match these players are playing
37
+ # @param [#to_i] seat The user's seat. Defaults to zero.
38
+ def initialize(game_def, seat = 0)
39
+ @players = game_def.number_of_players.times.map do |i|
40
+ Player.new(
41
+ Seat.new(i, game_def.number_of_players)
42
+ )
43
+ end
44
+ @game_def = game_def
45
+ @seat = Seat.new(seat, game_def.number_of_players)
46
+ end
47
+
48
+ # @param [MatchState] match_state The next match state.
49
+ def update!(match_state)
50
+ @match_state = match_state
51
+
52
+ update_players!
53
+ end
54
+
55
+ # @return [Boolean] +true+ if the hand has ended, +false+ otherwise.
56
+ def hand_ended?
57
+ return false unless @match_state
58
+
59
+ @match_state.hand_ended? @game_def
60
+ end
61
+
62
+ # @return [Player] The player with the dealer button.
63
+ def dealer_player
64
+ return Player.new(nil) unless @match_state
65
+ @players.find { |player| position_relative_to_dealer(player) == @players.length - 1}
66
+ end
67
+ def big_blind_payer
68
+ @players.find do |plyr|
69
+ position_relative_to_dealer(plyr) == @game_def.blinds.index(@game_def.blinds.max)
70
+ end
71
+ end
72
+ def small_blind_payer
73
+ @players.find do |plyr|
74
+ position_relative_to_dealer(plyr) == (
75
+ @game_def.blinds.index do |blind|
76
+ blind < @game_def.blinds.max && blind > 0
77
+ end
78
+ )
79
+ end
80
+ end
81
+ def next_player_to_act
82
+ return Player.new(nil) if @match_state.nil? || hand_ended?
83
+
84
+ @players.find { |plyr| position_relative_to_dealer(plyr) == @match_state.next_to_act(@game_def) }
85
+ end
86
+
87
+ # @return [Boolean] +true+ if it is the user's turn to act, +false+ otherwise.
88
+ def users_turn_to_act?
89
+ return false if @match_state.nil? || hand_ended?
90
+
91
+ next_player_to_act.seat == seat
92
+ end
93
+
94
+ # @param [Integer] player The player of which the position relative to the
95
+ # dealer is desired.
96
+ # @return [Integer] The position relative to the dealer of the given player,
97
+ # +player+, indexed such that the player immediately to to the left of the
98
+ # dealer has a +position_relative_to_dealer+ of zero.
99
+ # @raise (see Integer#seat_from_relative_position)
100
+ # @raise (see Integer#position_relative_to)
101
+ def position_relative_to_dealer(player)
102
+ (seat.seats_to(player) + users_position_relative_to_dealer) % @players.length
103
+ end
104
+
105
+ # @return [Array] The set of legal actions for the currently acting player.
106
+ def legal_actions
107
+ return [] unless @match_state
108
+
109
+ @match_state.players(@game_def)[users_position_relative_to_dealer].legal_actions
110
+ end
111
+
112
+ # @return [String] player acting sequence as a string.
113
+ def player_acting_sequence_string
114
+ (player_acting_sequence.map { |per_round| per_round.join('') }).join('/')
115
+ end
116
+
117
+ # @return [Array<Array<Integer>>] The sequence of seats that acted,
118
+ # separated by round.
119
+ def player_acting_sequence
120
+ return [[]] unless @match_state
121
+
122
+ @match_state.player_acting_sequence(@game_def).map do |actions_per_round|
123
+ next [] if actions_per_round.empty?
124
+
125
+ actions_per_round.map do |pos_rel_dealer|
126
+ seat(pos_rel_dealer)
127
+ end
128
+ end
129
+ end
130
+
131
+ def seat(pos_rel_dealer = users_position_relative_to_dealer)
132
+ return @seat if pos_rel_dealer == users_position_relative_to_dealer
133
+
134
+ Seat.new(
135
+ @seat + Seat.new(users_position_relative_to_dealer, @game_def.number_of_players).seats_to(pos_rel_dealer),
136
+ @game_def.number_of_players
137
+ )
138
+ end
139
+
140
+ def users_position_relative_to_dealer
141
+ @match_state.position_relative_to_dealer
142
+ end
143
+
144
+ private
145
+
146
+ def update_players!
147
+ return self if @match_state.first_state_of_first_round?
148
+
149
+ @players.each do |plyr|
150
+ plyr.hand_player = @match_state.players(@game_def)[position_relative_to_dealer(plyr)]
151
+ end
152
+
153
+ distribute_chips! if hand_ended?
154
+
155
+ self
156
+ end
157
+
158
+ # Distribute chips to all winning players
159
+ # @param [BoardCards] board_cards The community board cards.
160
+ def distribute_chips!
161
+ @players.each do |plyr|
162
+ plyr.balance += plyr.hand_player.balance
163
+ end
164
+
165
+ self
166
+ end
167
+ end
168
+ end
@@ -1,3 +1,3 @@
1
1
  module AcpcPokerTypes
2
- VERSION = '6.2.3'
2
+ VERSION = '7.0.0'
3
3
  end
@@ -1,6 +1,5 @@
1
-
2
1
  # Spec helper (must include first to track code coverage with SimpleCov)
3
- require_relative 'support/spec_helper'
2
+ require_relative '../support/spec_helper'
4
3
 
5
4
  require 'mocha/setup'
6
5
 
@@ -8,11 +7,11 @@ require 'acpc_dealer'
8
7
  require 'acpc_poker_types/match_state'
9
8
  require 'acpc_poker_types/poker_action'
10
9
 
11
- require 'acpc_poker_types/acpc_dealer_data/action_messages'
12
- require 'acpc_poker_types/acpc_dealer_data/match_definition'
13
- require 'acpc_poker_types/acpc_dealer_data/log_file'
10
+ require 'acpc_poker_types/dealer_data/action_messages'
11
+ require 'acpc_poker_types/dealer_data/match_definition'
12
+ require 'acpc_poker_types/dealer_data/log_file'
14
13
 
15
- describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
14
+ describe AcpcPokerTypes::DealerData::ActionMessages do
16
15
  before do
17
16
  @data = nil
18
17
  @final_score = nil
@@ -26,33 +25,33 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
26
25
  it 'properly parses a ACPC log "TO . . ." line' do
27
26
  [
28
27
  "TO 1 at 1341695999.222281 MATCHSTATE:0:0::5d5c|\n" =>
29
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
28
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
30
29
  0,
31
30
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:0::5d5c|')
32
31
  ),
33
32
  "TO 2 at 1341695920.914907 MATCHSTATE:1:0:r19686:|9hQd\n" =>
34
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
33
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
35
34
  1,
36
35
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:0:r19686:|9hQd')
37
36
  ),
38
37
  "TO 3 at 1341696044.566738 MATCHSTATE:2:0:rf:||8dAs\n" =>
39
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
38
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
40
39
  2,
41
40
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:2:0:rf:||8dAs')
42
41
  ),
43
42
  "TO 1 at 1341715418.808925 MATCHSTATE:0:0:fcr17162:5d5c||\n" =>
44
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
43
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
45
44
  0,
46
45
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:0:fcr17162:5d5c||')
47
46
  )
48
47
  ].each do |to_message_to_data|
49
48
  to_message_to_data.each do |to_message, expected_values|
50
- AcpcPokerTypes::AcpcDealerData::ActionMessages.parse_to_message(to_message).must_equal expected_values
49
+ AcpcPokerTypes::DealerData::ActionMessages.parse_to_message(to_message).must_equal expected_values
51
50
  end
52
51
  end
53
52
  end
54
53
  it 'returns nil if asked to parse an improperly formatted string' do
55
- AcpcPokerTypes::AcpcDealerData::ActionMessages.parse_to_message("improperly formatted string").must_be_nil
54
+ AcpcPokerTypes::DealerData::ActionMessages.parse_to_message("improperly formatted string").must_be_nil
56
55
  end
57
56
  end
58
57
 
@@ -60,37 +59,37 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
60
59
  it 'properly parses a ACPC log "FROM . . ." line' do
61
60
  [
62
61
  "FROM 2 at 1341695999.222410 MATCHSTATE:1:0::|9hQd:c\n" =>
63
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
62
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
64
63
  1,
65
64
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:0::|9hQd'),
66
65
  AcpcPokerTypes::PokerAction.new('c')
67
66
  ),
68
67
  "FROM 1 at 1341695920.914935 MATCHSTATE:0:0:r19686:5d5c|:r20000\n" =>
69
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
68
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
70
69
  0,
71
70
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:0:r19686:5d5c|'),
72
71
  AcpcPokerTypes::PokerAction.new('r20000')
73
72
  ),
74
73
  "FROM 3 at 1341696044.566938 MATCHSTATE:2:0:rfr:||8dAs:r\n" =>
75
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
74
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
76
75
  2,
77
76
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:2:0:rfr:||8dAs'),
78
77
  AcpcPokerTypes::PokerAction.new('r')
79
78
  ),
80
79
  "FROM 2 at 1341715418.808896 MATCHSTATE:1:0:fc:|9hQd|:r17162\n" =>
81
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
80
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
82
81
  1,
83
82
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:0:fc:|9hQd|'),
84
83
  AcpcPokerTypes::PokerAction.new('r17162')
85
84
  )
86
85
  ].each do |from_message_to_data|
87
86
  from_message_to_data.each do |from_message, expected_values|
88
- AcpcPokerTypes::AcpcDealerData::ActionMessages.parse_from_message(from_message).must_equal expected_values
87
+ AcpcPokerTypes::DealerData::ActionMessages.parse_from_message(from_message).must_equal expected_values
89
88
  end
90
89
  end
91
90
  end
92
91
  it 'returns nil if asked to parse an improperly formatted string' do
93
- AcpcPokerTypes::AcpcDealerData::ActionMessages.parse_from_message("improperly formatted string").must_be_nil
92
+ AcpcPokerTypes::DealerData::ActionMessages.parse_from_message("improperly formatted string").must_be_nil
94
93
  end
95
94
  end
96
95
 
@@ -101,12 +100,12 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
101
100
  'SCORE:19835|621.5|-20455.5:p1|p2|p3' => {p1: 19835, p2: 621.5, p3: -20455.5}
102
101
  ].each do |score_to_player_results|
103
102
  score_to_player_results.each do |score_string, expected_values|
104
- AcpcPokerTypes::AcpcDealerData::ActionMessages.parse_score(score_string).must_equal expected_values
103
+ AcpcPokerTypes::DealerData::ActionMessages.parse_score(score_string).must_equal expected_values
105
104
  end
106
105
  end
107
106
  end
108
107
  it 'returns nil if asked to parse an improperly formatted string' do
109
- AcpcPokerTypes::AcpcDealerData::ActionMessages.parse_score("improperly formatted string").must_be_nil
108
+ AcpcPokerTypes::DealerData::ActionMessages.parse_score("improperly formatted string").must_be_nil
110
109
  end
111
110
  end
112
111
 
@@ -115,17 +114,17 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
115
114
  it 'when every hand is desired' do
116
115
  init_data do |action_messages|
117
116
  file_name = 'file_name'
118
- AcpcPokerTypes::AcpcDealerData::LogFile.expects(:open).with(file_name, 'r').yields(
117
+ AcpcPokerTypes::DealerData::LogFile.expects(:open).with(file_name, 'r').yields(
119
118
  action_messages
120
119
  ).returns(
121
- AcpcPokerTypes::AcpcDealerData::ActionMessages.parse(
120
+ AcpcPokerTypes::DealerData::ActionMessages.parse(
122
121
  action_messages,
123
122
  @player_names,
124
123
  AcpcDealer::DEALER_DIRECTORY
125
124
  )
126
125
  )
127
126
 
128
- @patient = AcpcPokerTypes::AcpcDealerData::ActionMessages.parse_file(
127
+ @patient = AcpcPokerTypes::DealerData::ActionMessages.parse_file(
129
128
  file_name,
130
129
  @player_names,
131
130
  AcpcDealer::DEALER_DIRECTORY
@@ -139,10 +138,10 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
139
138
  num_hands = 1
140
139
  init_data do |action_messages|
141
140
  file_name = 'file_name'
142
- AcpcPokerTypes::AcpcDealerData::LogFile.expects(:open).with(file_name, 'r').yields(
141
+ AcpcPokerTypes::DealerData::LogFile.expects(:open).with(file_name, 'r').yields(
143
142
  action_messages
144
143
  ).returns(
145
- AcpcPokerTypes::AcpcDealerData::ActionMessages.parse(
144
+ AcpcPokerTypes::DealerData::ActionMessages.parse(
146
145
  action_messages,
147
146
  @player_names,
148
147
  AcpcDealer::DEALER_DIRECTORY,
@@ -150,7 +149,7 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
150
149
  )
151
150
  )
152
151
 
153
- @patient = AcpcPokerTypes::AcpcDealerData::ActionMessages.parse_file(
152
+ @patient = AcpcPokerTypes::DealerData::ActionMessages.parse_file(
154
153
  file_name,
155
154
  @player_names,
156
155
  AcpcDealer::DEALER_DIRECTORY,
@@ -168,7 +167,7 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
168
167
  describe 'from array' do
169
168
  it 'when all hands are desired' do
170
169
  init_data do |action_messages|
171
- @patient = AcpcPokerTypes::AcpcDealerData::ActionMessages.parse(
170
+ @patient = AcpcPokerTypes::DealerData::ActionMessages.parse(
172
171
  action_messages,
173
172
  @player_names,
174
173
  AcpcDealer::DEALER_DIRECTORY
@@ -181,7 +180,7 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
181
180
  @no_final_score = true
182
181
  num_hands = 1
183
182
  init_data do |log_statements|
184
- @patient = AcpcPokerTypes::AcpcDealerData::ActionMessages.parse(
183
+ @patient = AcpcPokerTypes::DealerData::ActionMessages.parse(
185
184
  log_statements,
186
185
  @player_names,
187
186
  AcpcDealer::DEALER_DIRECTORY,
@@ -209,7 +208,7 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
209
208
  @final_score = data_hash[:final_score]
210
209
  @data = data_hash[:data]
211
210
  @player_names = data_hash[:player_names]
212
- @match_def = AcpcPokerTypes::AcpcDealerData::MatchDefinition.parse(
211
+ @match_def = AcpcPokerTypes::DealerData::MatchDefinition.parse(
213
212
  data_hash[:action_messages].first,
214
213
  @player_names,
215
214
  AcpcDealer::DEALER_DIRECTORY
@@ -237,39 +236,39 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
237
236
  ],
238
237
  data: [
239
238
  [
240
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
239
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
241
240
  0,
242
241
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:998:crc/cc/cc/:|TdQd/As6d6h/7h/4s')
243
242
  ),
244
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
243
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
245
244
  1,
246
245
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:998:crc/cc/cc/:Jc8d|/As6d6h/7h/4s')
247
246
  ),
248
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
247
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
249
248
  1,
250
249
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:998:crc/cc/cc/:Jc8d|/As6d6h/7h/4s'),
251
250
  AcpcPokerTypes::PokerAction.new('r')
252
251
  )
253
252
  ],
254
253
  [
255
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
254
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
256
255
  0,
257
256
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999:crc/cc/cc/r:|TdQd/As6d6h/7h/4s')
258
257
  ),
259
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
258
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
260
259
  1,
261
260
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:999:crc/cc/cc/r:Jc8d|/As6d6h/7h/4s')
262
261
  ),
263
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
262
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
264
263
  0,
265
264
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999:crc/cc/cc/r:|TdQd/As6d6h/7h/4s'),
266
265
  AcpcPokerTypes::PokerAction.new('c')
267
266
  ),
268
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
267
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
269
268
  0,
270
269
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999:crc/cc/cc/rc:Jc8d|TdQd/As6d6h/7h/4s')
271
270
  ),
272
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
271
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
273
272
  1,
274
273
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:999:crc/cc/cc/rc:Jc8d|TdQd/As6d6h/7h/4s')
275
274
  )
@@ -296,47 +295,47 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
296
295
  ],
297
296
  data: [
298
297
  [
299
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
298
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
300
299
  0,
301
300
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:998:cc/r5841r19996r20000:Kc6h|/QhAh8d')
302
301
  ),
303
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
302
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
304
303
  1,
305
304
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:998:cc/r5841r19996r20000:|Qc3s/QhAh8d')
306
305
  ),
307
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
306
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
308
307
  1,
309
308
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:998:cc/r5841r19996r20000:|Qc3s/QhAh8d:c'),
310
309
  AcpcPokerTypes::PokerAction.new('c')
311
310
  ),
312
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
311
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
313
312
  0,
314
313
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:998:cc/r5841r19996r20000c//:Kc6h|Qc3s/QhAh8d/Th/9d')
315
314
  ),
316
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
315
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
317
316
  1,
318
317
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:998:cc/r5841r19996r20000c//:Kc6h|Qc3s/QhAh8d/Th/9d')
319
318
  )
320
319
  ],
321
320
  [
322
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
321
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
323
322
  0,
324
323
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999::|TdQd')
325
324
  ),
326
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
325
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
327
326
  1,
328
327
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:999::Jc8d|')
329
328
  ),
330
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
329
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
331
330
  0,
332
331
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999::|TdQd'),
333
332
  AcpcPokerTypes::PokerAction.new('f')
334
333
  ),
335
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
334
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
336
335
  0,
337
336
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999:f:|TdQd')
338
337
  ),
339
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
338
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
340
339
  1,
341
340
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:999:f:Jc8d|')
342
341
  )
@@ -360,32 +359,32 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
360
359
  ],
361
360
  data: [
362
361
  [
363
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
362
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
364
363
  0,
365
364
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:999:ccc/ccc/rrcc/rrrfr:QsAs||/4d6d2d/5d/2c')
366
365
  ),
367
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
366
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
368
367
  1,
369
368
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999:ccc/ccc/rrcc/rrrfr:|3s8h|/4d6d2d/5d/2c')
370
369
  ),
371
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
370
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
372
371
  2,
373
372
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:2:999:ccc/ccc/rrcc/rrrfr:||Qd3c/4d6d2d/5d/2c')
374
373
  ),
375
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
374
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
376
375
  2,
377
376
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:2:999:ccc/ccc/rrcc/rrrfr:||Qd3c/4d6d2d/5d/2c'),
378
377
  AcpcPokerTypes::PokerAction.new('c')
379
378
  ),
380
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
379
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
381
380
  0,
382
381
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:999:ccc/ccc/rrcc/rrrfrc:QsAs|3s8h|Qd3c/4d6d2d/5d/2c')
383
382
  ),
384
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
383
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
385
384
  1,
386
385
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999:ccc/ccc/rrcc/rrrfrc:|3s8h|Qd3c/4d6d2d/5d/2c')
387
386
  ),
388
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
387
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
389
388
  2,
390
389
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:2:999:ccc/ccc/rrcc/rrrfrc:|3s8h|Qd3c/4d6d2d/5d/2c')
391
390
  )
@@ -409,34 +408,34 @@ describe AcpcPokerTypes::AcpcDealerData::ActionMessages do
409
408
  ],
410
409
  data: [
411
410
  [
412
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
411
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
413
412
  0,
414
413
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:998:ccr12926r20000c:QsAs||')
415
414
  ),
416
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
415
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
417
416
  1,
418
417
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:998:ccr12926r20000c:|3s8h|')
419
418
  ),
420
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
419
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
421
420
  2,
422
421
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:2:998:ccr12926r20000c:||Qd3c')
423
422
  ),
424
- AcpcPokerTypes::AcpcDealerData::ActionMessages::FromMessage.new(
423
+ AcpcPokerTypes::DealerData::ActionMessages::FromMessage.new(
425
424
  1,
426
425
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:998:ccr12926r20000c:|3s8h|'),
427
426
  AcpcPokerTypes::PokerAction.new('c')
428
427
  )
429
428
  ],
430
429
  [
431
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
430
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
432
431
  0,
433
432
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:0:999:ccr12926r20000cc///:QsAs|3s8h|Qd3c/4d6d2d/5d/2c')
434
433
  ),
435
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
434
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
436
435
  1,
437
436
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:1:999:ccr12926r20000cc///:QsAs|3s8h|Qd3c/4d6d2d/5d/2c')
438
437
  ),
439
- AcpcPokerTypes::AcpcDealerData::ActionMessages::ToMessage.new(
438
+ AcpcPokerTypes::DealerData::ActionMessages::ToMessage.new(
440
439
  2,
441
440
  AcpcPokerTypes::MatchState.parse('MATCHSTATE:2:999:ccr12926r20000cc///:QsAs|3s8h|Qd3c/4d6d2d/5d/2c')
442
441
  )