acpc_poker_player_proxy 0.0.2 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3ffa8e6abeecbd241afc93ce9a5523f51552ef50
4
- data.tar.gz: 81cb73bec3ea2fe50f01ba8a210c721114d06f24
3
+ metadata.gz: f3b6c2c86647a1d4c0bcff64ae7f56a35d341a23
4
+ data.tar.gz: 3e8558b50f20d032a87a33a1807b19153dca7298
5
5
  SHA512:
6
- metadata.gz: 8f7145a74c17496e9e2dbbfb9f6c5817c5c8bdbeca8af6f86b623604602fdb4d805ef8574f8093d42b6d7035b1d9859bbc6d283c0e30a777b5c4916674c91d2a
7
- data.tar.gz: ea940f6802e90a7cabae0db583fe64d53ddd202bb335fa15cb068c1c1456452269ff437f087fccb1b544e2a5737072555b0e0eb24e54d3d476d3921a815b7ebd
6
+ metadata.gz: 712a4ea77395d88d3688025a159b44b8d8829498c5d3a4976dcb07fb9aeb413c2c8d413c55ce1744bd6b8ce1372519dde129ff94f5c3ff612b982a2bbb43bdc5
7
+ data.tar.gz: b0636c583c9a84293f584e948f2aedcc75583927ac904c89a2065502b49a8b0a195593446ac1fd773efea34f92decad4958ef340e9d1fbe189bf6d30bb20cd53
data/Rakefile CHANGED
@@ -1,32 +1,12 @@
1
- require 'bundler/gem_tasks'
2
- require 'rake'
3
- require 'rspec/core/rake_task'
4
-
5
- require File.expand_path('../lib/acpc_poker_player_proxy/version', __FILE__)
6
- require File.expand_path('../tasks', __FILE__)
7
-
8
- include Tasks
9
-
10
- RSpec::Core::RakeTask.new(:spec) do |t|
11
- ruby_opts = "-w"
12
- end
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
13
3
 
14
- task :build => :spec do
15
- system "gem build acpc_poker_player_proxy.gemspec"
16
- end
4
+ require 'rake'
5
+ require 'rake/testtask'
17
6
 
18
- task :tag => :build do
19
- tag_gem_version AcpcPokerPlayerProxy::VERSION
7
+ Rake::TestTask.new do |t|
8
+ t.libs << "lib" << 'spec/support'
9
+ t.test_files = FileList['spec/**/*_spec.rb']
10
+ t.verbose = false
11
+ t.warning = false # pry-rescue has a lot of warnings
20
12
  end
21
-
22
- #desc "release gem to gemserver"
23
- #task :release => [:tag, :deploy] do
24
- # puts "congrats, the gem is now tagged, pushed, deployed and released! Rember to up the VERSION number"
25
- #end
26
-
27
- #task :deploy do
28
- # puts "Deploying to gemserver@mygemserver.mycompany.com"
29
- # system "scp my_private_gem-#{AcpcPokerType::VERSION}.gem gemserver@mygemserver.mycompany.com:gems/."
30
- # puts "installing on gemserver"
31
- # system "ssh gemserver@mygemserver.mycompany.com \"cd gems && gem install my_private_gem-#{AcpcPokerType::VERSION}.gem --ignore-dependencies\""
32
- #end
@@ -11,21 +11,22 @@ Gem::Specification.new do |s|
11
11
  s.summary = %q{ACPC Poker Player Proxy}
12
12
  s.description = %q{A smart proxy for a poker player that connects to the ACPC Dealer and manages match state data}
13
13
 
14
- s.add_dependency 'acpc_poker_match_state', '~> 0.0'
15
- s.add_dependency 'acpc_poker_basic_proxy', '~> 0.0'
16
- s.add_dependency 'acpc_poker_types', '~> 0.0'
17
- s.add_dependency 'dmorrill10-utils', '~> 1.0'
14
+ s.add_dependency 'acpc_poker_match_state', '~> 1.0'
15
+ s.add_dependency 'acpc_poker_basic_proxy', '~> 2.0'
16
+ s.add_dependency 'acpc_poker_types', '~> 3.1'
17
+ s.add_dependency 'contextual_exceptions', '~> 0.0'
18
18
 
19
19
  s.rubyforge_project = "acpc_poker_player_proxy"
20
20
 
21
- s.files = Dir.glob("lib/**/*") + Dir.glob("ext/**/*") + %w(Rakefile acpc_poker_player_proxy.gemspec tasks.rb README.md)
21
+ s.files = Dir.glob("lib/**/*") + Dir.glob("ext/**/*") + %w(Rakefile acpc_poker_player_proxy.gemspec README.md)
22
22
  s.test_files = Dir.glob "spec/**/*"
23
23
  s.require_paths = ["lib"]
24
24
 
25
- s.add_development_dependency 'rspec'
26
- s.add_development_dependency 'mocha'
27
- s.add_development_dependency 'simplecov'
28
- s.add_development_dependency 'pry-rescue'
29
- s.add_development_dependency 'acpc_dealer'
30
- s.add_development_dependency 'acpc_dealer_data'
25
+ s.add_development_dependency 'turn', '~> 0.9'
26
+ s.add_development_dependency 'minitest', '~> 4.7'
27
+ s.add_development_dependency 'acpc_dealer', '~> 1.0'
28
+ s.add_development_dependency 'awesome_print', '~> 1.0'
29
+ s.add_development_dependency 'pry-rescue', '~> 1.0'
30
+ s.add_development_dependency 'simplecov', '~> 0.7'
31
+ s.add_development_dependency 'mocha', '~> 0.13'
31
32
  end
@@ -1,13 +1,15 @@
1
1
 
2
- require 'dmorrill10-utils'
2
+ require 'contextual_exceptions'
3
3
 
4
4
  require 'acpc_poker_match_state/players_at_the_table'
5
5
  require 'acpc_poker_types/player'
6
6
  require 'acpc_poker_types/game_definition'
7
7
  require 'acpc_poker_basic_proxy/basic_proxy'
8
8
 
9
- class PlayerProxy
9
+ class AcpcPokerPlayerProxy::PlayerProxy
10
10
  include AcpcPokerTypes
11
+ include AcpcPokerMatchState
12
+ include AcpcPokerBasicProxy
11
13
 
12
14
  exceptions :match_ended
13
15
 
@@ -75,10 +77,10 @@ class PlayerProxy
75
77
  private
76
78
 
77
79
  def update_match_state_if_necessary!
78
- unless @players_at_the_table.users_turn_to_act? || @players_at_the_table.match_ended?
79
- update_match_state! do |players_at_the_table|
80
- yield players_at_the_table
81
- end
80
+ return self if @players_at_the_table.users_turn_to_act? || @players_at_the_table.match_ended?
81
+
82
+ update_match_state! do |players_at_the_table|
83
+ yield players_at_the_table
82
84
  end
83
85
  end
84
86
 
@@ -1,3 +1,3 @@
1
1
  module AcpcPokerPlayerProxy
2
- VERSION = "0.0.2"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -14,7 +14,7 @@
14
14
  <img src="./assets/0.7.1/loading.gif" alt="loading"/>
15
15
  </div>
16
16
  <div id="wrapper" style="display:none;">
17
- <div class="timestamp">Generated <abbr class="timeago" title="2013-05-06T09:55:25-06:00">2013-05-06T09:55:25-06:00</abbr></div>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2013-05-10T11:47:30-06:00">2013-05-10T11:47:30-06:00</abbr></div>
18
18
  <ul class="group_tabs"></ul>
19
19
 
20
20
  <div id="content">
@@ -0,0 +1,227 @@
1
+ require_relative 'support/spec_helper'
2
+
3
+ require 'acpc_poker_types/player'
4
+ require 'acpc_poker_basic_proxy'
5
+ require 'acpc_poker_types/game_definition'
6
+
7
+ require 'acpc_dealer'
8
+
9
+ require 'acpc_poker_player_proxy/player_proxy'
10
+
11
+ include AcpcPokerTypes
12
+ include AcpcDealerData
13
+ include AcpcPokerBasicProxy
14
+ include CommunicationLogic
15
+ include AcpcPokerPlayerProxy
16
+
17
+ describe PlayerProxy do
18
+ PORT_NUMBER = 9001
19
+ HOST_NAME = 'localhost'
20
+ MILLISECOND_RESPONSE_TIMEOUT = 0
21
+ DEALER_INFO = AcpcDealer::ConnectionInformation.new HOST_NAME, PORT_NUMBER, MILLISECOND_RESPONSE_TIMEOUT
22
+
23
+ describe '#update!' do
24
+ describe "keeps track of state for a sequence of match states and actions in Doyle's game" do
25
+ it 'in no-limit' do
26
+ # Change this number to do more or less thorough tests.
27
+ # Some interesting three player hands occur after 120
28
+ # Careful though, even 10 hands takes about 7 seconds,
29
+ # and it scales more than linearly
30
+ num_hands = 20
31
+ each_match(num_hands) do |match|
32
+ @match = match
33
+ @match.for_every_seat! do |users_seat|
34
+
35
+ @basic_proxy = init_basic_proxy
36
+
37
+ @patient = PlayerProxy.new(
38
+ DEALER_INFO,
39
+ users_seat,
40
+ @match.match_def.game_def,
41
+ @match.players.map { |player| player.name }.join(' '),
42
+ num_hands
43
+ ) do |patt|
44
+
45
+ check_players_at_the_table patt
46
+
47
+ @match.next_hand! unless @match.hand_number
48
+
49
+ if @match.current_hand.final_turn?
50
+ @match.current_hand.end_hand!
51
+ break if @match.final_hand?
52
+ @match.next_hand!
53
+ end
54
+ @match.next_turn!
55
+
56
+ @basic_proxy.expects(:receive_match_state!).returns(
57
+ @match.current_hand.current_match_state
58
+ ).once
59
+ end
60
+
61
+ while @match.current_hand.last_action do
62
+ @basic_proxy.expects(:send_action).once.with(@match.current_hand.last_action.action.to_acpc)
63
+
64
+ @patient.play!(@match.current_hand.last_action.action.to_acpc) do |patt|
65
+
66
+ check_players_at_the_table patt
67
+
68
+ if @match.current_hand.final_turn?
69
+ @match.current_hand.end_hand!
70
+ break if @match.final_hand?
71
+ @match.next_hand!
72
+ end
73
+ @match.next_turn!
74
+
75
+ @basic_proxy.expects(:receive_match_state!).returns(
76
+ @match.current_hand.current_match_state
77
+ ).once
78
+ end
79
+ end
80
+
81
+ @match.hand_number.must_equal(num_hands - 1)
82
+ @match.current_hand.end_hand!
83
+ @match.end_match!
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ def each_match(num_hands)
90
+ match_logs.each do |log_description|
91
+ yield PokerMatchData.parse_files(
92
+ log_description.actions_file_path,
93
+ log_description.results_file_path,
94
+ log_description.player_names,
95
+ AcpcDealer::DEALER_DIRECTORY,
96
+ num_hands
97
+ )
98
+ end
99
+ end
100
+ def init_basic_proxy
101
+ @basic_proxy = mock 'BasicProxy'
102
+ BasicProxy.expects(:new).with(DEALER_INFO).returns(@basic_proxy).once
103
+ @basic_proxy
104
+ end
105
+
106
+ def check_players_at_the_table(patient)
107
+ patient.player_acting_sequence.must_equal @match.player_acting_sequence
108
+ patient.number_of_players.must_equal @match.players.length
109
+ check_last_action patient
110
+ check_next_to_act patient
111
+ check_last_turn patient
112
+ patient.opponents_cards_visible?.must_equal @match.opponents_cards_visible?
113
+ patient.reached_showdown?.must_equal @match.opponents_cards_visible?
114
+ patient.less_than_two_non_folded_players?.must_equal @match.non_folded_players.length < 2
115
+
116
+ if @match.current_hand
117
+ patient.hand_ended?.must_equal @match.current_hand.final_turn?
118
+ patient.match_ended?.must_equal (@match.final_hand? && @match.current_hand.final_turn?)
119
+ end
120
+ patient.last_hand?.must_equal (
121
+ if @match.final_hand?.nil?
122
+ false
123
+ else
124
+ @match.final_hand?
125
+ end
126
+ )
127
+ patient.player_acting_sequence_string.must_equal @match.player_acting_sequence_string
128
+ patient.users_turn_to_act?.must_equal @match.users_turn_to_act?
129
+ check_betting_sequence patient
130
+ # @todo Test this eventually
131
+ # patient.min_wager.to_i.must_equal @min_wager.to_i
132
+ end
133
+ def check_player_blind_relation(patient)
134
+ expected_player_blind_relation = @match.player_blind_relation
135
+ patient.player_blind_relation.each do |player, blind|
136
+ expected_player_and_blind = expected_player_blind_relation.to_a.find do |player_and_blind|
137
+ player_and_blind.first.seat == player.seat
138
+ end
139
+
140
+ expected_player = expected_player_and_blind.first
141
+ expected_blind = expected_player_and_blind.last
142
+
143
+ player.close_enough?(expected_player).must_equal true
144
+ blind.must_equal expected_blind
145
+ end
146
+ end
147
+ def check_betting_sequence(patient)
148
+ patient_betting_sequence = patient.betting_sequence.map do |actions|
149
+ actions.map { |action| PokerAction.new(action.to_s).to_s }
150
+ end
151
+ expected_betting_sequence = @match.betting_sequence.map do |actions|
152
+ actions.map { |action| action.to_s }
153
+ end
154
+ patient_betting_sequence.must_equal expected_betting_sequence
155
+
156
+ patient.betting_sequence_string.scan(/([a-z]\d*|\/)/).flatten.map do |action|
157
+ if action.match(/\//)
158
+ action
159
+ else
160
+ PokerAction.new(action).to_s
161
+ end
162
+ end.join('').must_equal @match.betting_sequence_string
163
+ end
164
+ def check_last_action(patient)
165
+ if @match.current_hand && @match.current_hand.last_action
166
+ patient.player_who_acted_last.seat.must_equal @match.current_hand.last_action.seat
167
+ else
168
+ patient.player_who_acted_last.must_be_nil
169
+ end
170
+ end
171
+ def check_next_to_act(patient)
172
+ if @match.current_hand && @match.current_hand.next_action
173
+ patient.next_player_to_act.seat.must_equal @match.current_hand.next_action.seat
174
+ else
175
+ patient.next_player_to_act.must_be_nil
176
+ end
177
+ end
178
+ def check_last_turn(patient)
179
+ return unless @match.current_hand && @match.current_hand.final_turn?
180
+ patient.players.players_close_enough?(@match.players).must_equal true
181
+ patient.user_player.close_enough?(@match.player).must_equal true
182
+ patient.opponents.players_close_enough?(@match.opponents).must_equal true
183
+ patient.non_folded_players.players_close_enough?(@match.non_folded_players).must_equal true
184
+ patient.active_players.players_close_enough?(@match.active_players).must_equal true
185
+ patient.player_with_dealer_button.close_enough?(@match.player_with_dealer_button).must_equal true
186
+ check_player_blind_relation patient
187
+ patient.chip_stacks.must_equal @match.chip_stacks
188
+ patient.chip_balances.must_equal @match.chip_balances
189
+ patient.chip_contributions.sum.must_equal @match.chip_contributions.sum
190
+ end
191
+ end
192
+
193
+ class Array
194
+ def players_close_enough?(other_players)
195
+ return false if other_players.length != length
196
+ each_with_index do |player, index|
197
+ return false unless player.close_enough?(other_players[index])
198
+ end
199
+ true
200
+ end
201
+ def reject_empty_elements
202
+ reject do |elem|
203
+ elem.empty?
204
+ end
205
+ end
206
+ end
207
+
208
+ class AcpcPokerTypes::Player
209
+ def acpc_actions_taken_this_hand
210
+ acpc_actions = @actions_taken_this_hand.map do |actions_per_turn|
211
+ actions_per_turn.map { |action| AcpcPokerTypes::PokerAction.new(action).to_s }
212
+ end
213
+ if acpc_actions.first.empty?
214
+ acpc_actions
215
+ else
216
+ acpc_actions.reject_empty_elements
217
+ end
218
+ end
219
+
220
+ def close_enough?(other)
221
+ @name == other.name &&
222
+ @seat == other.seat &&
223
+ @chip_stack == other.chip_stack &&
224
+ @chip_balance == other.chip_balance &&
225
+ acpc_actions_taken_this_hand == other.acpc_actions_taken_this_hand
226
+ end
227
+ end
@@ -1,17 +1,34 @@
1
-
2
1
  require 'simplecov'
3
2
  SimpleCov.start
4
3
 
5
- require 'mocha/api'
4
+ require 'minitest/spec'
5
+ require 'minitest/pride'
6
+ require 'minitest/mock'
6
7
 
7
- RSpec.configure do |config|
8
- # == Mock Framework
9
- config.mock_with :mocha
8
+ require 'turn'
9
+ Turn.config do |c|
10
+ # use one of output formats:
11
+ # :outline - turn's original case/test outline mode [default]
12
+ # :progress - indicates progress with progress bar
13
+ # :dotted - test/unit's traditional dot-progress mode
14
+ # :pretty - new pretty reporter
15
+ # :marshal - dump output as YAML (normal run mode only)
16
+ # :cue - interactive testing
17
+ c.format = :dotted
18
+ # use humanized test names (works only with :outline format)
19
+ c.natural = true
10
20
  end
11
21
 
12
- require 'pry-rescue/rspec'
22
+ require 'awesome_print'
23
+ module Minitest::Assertions
24
+ def mu_pp(obj)
25
+ obj.awesome_inspect
26
+ end
27
+ end
28
+
29
+ require 'mocha/setup'
30
+ require 'pry-rescue/minitest'
13
31
 
14
- # @todo This is duplicated from match state gem tests
15
32
  # Match log information in dealer_logs
16
33
  class MatchLog
17
34
  DEALER_LOG_DIRECTORY = File.expand_path('../dealer_logs', __FILE__)
@@ -56,4 +73,4 @@ def match_logs
56
73
  ['p1', 'p2', 'p3']
57
74
  )
58
75
  ]
59
- end
76
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acpc_poker_player_proxy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dustin Morrill
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-05-06 00:00:00.000000000 Z
11
+ date: 2013-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: acpc_poker_match_state
@@ -16,30 +16,44 @@ dependencies:
16
16
  requirements:
17
17
  - - ~>
18
18
  - !ruby/object:Gem::Version
19
- version: '0.0'
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
- version: '0.0'
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: acpc_poker_basic_proxy
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '0.0'
33
+ version: '2.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '0.0'
40
+ version: '2.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: acpc_poker_types
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '3.1'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: '3.1'
55
+ - !ruby/object:Gem::Dependency
56
+ name: contextual_exceptions
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - ~>
@@ -53,103 +67,103 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0.0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: dmorrill10-utils
70
+ name: turn
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ~>
60
74
  - !ruby/object:Gem::Version
61
- version: '1.0'
62
- type: :runtime
75
+ version: '0.9'
76
+ type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ~>
67
81
  - !ruby/object:Gem::Version
68
- version: '1.0'
82
+ version: '0.9'
69
83
  - !ruby/object:Gem::Dependency
70
- name: rspec
84
+ name: minitest
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - '>='
87
+ - - ~>
74
88
  - !ruby/object:Gem::Version
75
- version: '0'
89
+ version: '4.7'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - '>='
94
+ - - ~>
81
95
  - !ruby/object:Gem::Version
82
- version: '0'
96
+ version: '4.7'
83
97
  - !ruby/object:Gem::Dependency
84
- name: mocha
98
+ name: acpc_dealer
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - '>='
101
+ - - ~>
88
102
  - !ruby/object:Gem::Version
89
- version: '0'
103
+ version: '1.0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - '>='
108
+ - - ~>
95
109
  - !ruby/object:Gem::Version
96
- version: '0'
110
+ version: '1.0'
97
111
  - !ruby/object:Gem::Dependency
98
- name: simplecov
112
+ name: awesome_print
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - '>='
115
+ - - ~>
102
116
  - !ruby/object:Gem::Version
103
- version: '0'
117
+ version: '1.0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - '>='
122
+ - - ~>
109
123
  - !ruby/object:Gem::Version
110
- version: '0'
124
+ version: '1.0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: pry-rescue
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - '>='
129
+ - - ~>
116
130
  - !ruby/object:Gem::Version
117
- version: '0'
131
+ version: '1.0'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
- - - '>='
136
+ - - ~>
123
137
  - !ruby/object:Gem::Version
124
- version: '0'
138
+ version: '1.0'
125
139
  - !ruby/object:Gem::Dependency
126
- name: acpc_dealer
140
+ name: simplecov
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
- - - '>='
143
+ - - ~>
130
144
  - !ruby/object:Gem::Version
131
- version: '0'
145
+ version: '0.7'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
- - - '>='
150
+ - - ~>
137
151
  - !ruby/object:Gem::Version
138
- version: '0'
152
+ version: '0.7'
139
153
  - !ruby/object:Gem::Dependency
140
- name: acpc_dealer_data
154
+ name: mocha
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - '>='
157
+ - - ~>
144
158
  - !ruby/object:Gem::Version
145
- version: '0'
159
+ version: '0.13'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - '>='
164
+ - - ~>
151
165
  - !ruby/object:Gem::Version
152
- version: '0'
166
+ version: '0.13'
153
167
  description: A smart proxy for a poker player that connects to the ACPC Dealer and
154
168
  manages match state data
155
169
  email:
@@ -163,9 +177,7 @@ files:
163
177
  - lib/acpc_poker_player_proxy.rb
164
178
  - Rakefile
165
179
  - acpc_poker_player_proxy.gemspec
166
- - tasks.rb
167
180
  - README.md
168
- - spec/player_proxy_nolimit_spec.rb
169
181
  - spec/support/dealer_logs/3p.limit.h1000.r0.actions.log
170
182
  - spec/support/dealer_logs/3p.limit.h1000.r0.log
171
183
  - spec/support/dealer_logs/3p.nolimit.h1000.r0.actions.log
@@ -174,11 +186,7 @@ files:
174
186
  - spec/support/dealer_logs/2p.nolimit.h1000.r0.log
175
187
  - spec/support/dealer_logs/2p.nolimit.h1000.r0.actions.log
176
188
  - spec/support/dealer_logs/2p.limit.h1000.r0.log
177
- - spec/support/dealer_data.rb
178
189
  - spec/support/spec_helper.rb
179
- - spec/support/rearrange_dealer_data.rb
180
- - spec/support/dealer_data.two_player_limit.rb
181
- - spec/player_proxy_limit_spec.rb
182
190
  - spec/coverage/index.html
183
191
  - spec/coverage/assets/0.7.1/application.js
184
192
  - spec/coverage/assets/0.7.1/magnify.png
@@ -220,6 +228,7 @@ files:
220
228
  - spec/coverage/assets/0.7.1/favicon_green.png
221
229
  - spec/coverage/assets/0.7.1/favicon_red.png
222
230
  - spec/coverage/assets/0.7.1/loading.gif
231
+ - spec/player_proxy_spec.rb
223
232
  homepage: https://github.com/dmorrill10/acpc_poker_player_proxy
224
233
  licenses: []
225
234
  metadata: {}
@@ -244,7 +253,6 @@ signing_key:
244
253
  specification_version: 4
245
254
  summary: ACPC Poker Player Proxy
246
255
  test_files:
247
- - spec/player_proxy_nolimit_spec.rb
248
256
  - spec/support/dealer_logs/3p.limit.h1000.r0.actions.log
249
257
  - spec/support/dealer_logs/3p.limit.h1000.r0.log
250
258
  - spec/support/dealer_logs/3p.nolimit.h1000.r0.actions.log
@@ -253,11 +261,7 @@ test_files:
253
261
  - spec/support/dealer_logs/2p.nolimit.h1000.r0.log
254
262
  - spec/support/dealer_logs/2p.nolimit.h1000.r0.actions.log
255
263
  - spec/support/dealer_logs/2p.limit.h1000.r0.log
256
- - spec/support/dealer_data.rb
257
264
  - spec/support/spec_helper.rb
258
- - spec/support/rearrange_dealer_data.rb
259
- - spec/support/dealer_data.two_player_limit.rb
260
- - spec/player_proxy_limit_spec.rb
261
265
  - spec/coverage/index.html
262
266
  - spec/coverage/assets/0.7.1/application.js
263
267
  - spec/coverage/assets/0.7.1/magnify.png
@@ -299,3 +303,4 @@ test_files:
299
303
  - spec/coverage/assets/0.7.1/favicon_green.png
300
304
  - spec/coverage/assets/0.7.1/favicon_red.png
301
305
  - spec/coverage/assets/0.7.1/loading.gif
306
+ - spec/player_proxy_spec.rb