rpi-calculator 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 98536c60262dbcf1ddb66865bab77e55a1be56d5
4
- data.tar.gz: b2b3e42adc026d2ea7738241f79b27cebee13dba
3
+ metadata.gz: fe9f6cbe5a2d86bdb0df8cc879ba181ccae27ce7
4
+ data.tar.gz: c497116aa966d9a8c0ded0514821e074b0439a24
5
5
  SHA512:
6
- metadata.gz: a7f566c210251d85fa576988d09fdecb0d5d07750d710ce22716e368767fa672e5d907034ee0cc73c2c45269538b8b0c56d981f2c63d4ce17353734199fdd8e7
7
- data.tar.gz: 1168a73b2e3e12aaa1c02fd81596b82316d2ccce1dd35d67480bfd313a326e84ec76059518f41f2e983aac9e9036495f1c08a2c375f574d824637ae6248d25fb
6
+ metadata.gz: 09beefe6335bd4524e31d2fd6ffb24da1e3c115d1c040da45a7316b3807bd65b777105871644877ba13cc2675048add676a1b535e130ad860d066cd87ec32f51
7
+ data.tar.gz: 468510c00225638661f858abff7db3e0cd25bbe882060e4c39537887c454bc34081954533ff33d292ca6be368c4c1c65840e28055e800faf91df77cc313b4185
@@ -37,6 +37,7 @@ module CrashingTheDance
37
37
  all = teams.inject({}) { |a, team| a[team] = [ ]; a }
38
38
  games.each do |game|
39
39
  # has to be a cleaner way than this
40
+ # exception if neither matches?
40
41
  add_team_game all, game, game.vis_team
41
42
  add_team_game all, game, game.home_team
42
43
  end
@@ -48,7 +48,7 @@ module CrashingTheDance
48
48
  sum_owp = games.inject(0.0) do |sum, game|
49
49
  sked = opponent_schedule game.opponent, games_by_team
50
50
  ow = sked.inject(0) { |wins, og| wins + og.wins }
51
- sum + (ow.to_f / sked.count.to_f)
51
+ sum + (sked.empty? ? 0.0 : (ow.to_f / sked.count.to_f))
52
52
  end
53
53
  @owp = sum_owp / games.count.to_f
54
54
  end
@@ -1,5 +1,5 @@
1
1
  module CrashingTheDance
2
2
  module RpiCalculator
3
- VERSION = "0.1.0"
3
+ VERSION = "0.1.1"
4
4
  end
5
5
  end
@@ -19,8 +19,8 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.6"
22
- spec.add_development_dependency "rake", "~> 0"
22
+ spec.add_development_dependency "rake"
23
23
  spec.add_development_dependency "rspec", "~> 2.99"
24
- spec.add_development_dependency "guard", "~> 0"
25
- spec.add_development_dependency "guard-rspec", "~> 0"
24
+ spec.add_development_dependency "guard"
25
+ spec.add_development_dependency "guard-rspec"
26
26
  end
@@ -0,0 +1,2 @@
1
+ vis_team,vis_score,home_team,home_score,neutral
2
+ Notre Dame,0,Valparaiso,1,
@@ -0,0 +1,3 @@
1
+ name
2
+ Valparaiso
3
+ Notre Dame
@@ -20,6 +20,37 @@ describe "RPI calculator" do
20
20
  end
21
21
  end
22
22
 
23
+ context "one game played" do
24
+ before(:each) do
25
+ @teams = teams_fixture 'onegame'
26
+ games = games_fixture 'onegame'
27
+ @rpi = CrashingTheDance::RpiCalculator.calculate @teams, games
28
+ end
29
+
30
+ it "calculates the right win/loss record" do
31
+ valpo = @rpi.find { |team| team.team.name.eql? "Valparaiso" }
32
+ expect(valpo.wins).to eq(1)
33
+ expect(valpo.losses).to eq(0)
34
+ expect(valpo.win_percentage).to be_within(0.0001).of(1.0000)
35
+ end
36
+
37
+ it "calculates the RPI OWP" do
38
+ valpo = @rpi.find { |team| team.team.name.eql? "Valparaiso" }
39
+ expect(valpo.owp).to be_within(0.0001).of(0.0)
40
+ end
41
+
42
+ it "calculates the RPI OOWP" do
43
+ valpo = @rpi.find { |team| team.team.name.eql? "Valparaiso" }
44
+ expect(valpo.oowp).to be_within(0.0001).of(0.0)
45
+ end
46
+
47
+ it "calculates the RPI" do
48
+ valpo = @rpi.find { |team| team.team.name.eql? "Valparaiso" }
49
+ # since OWP/OOWP is 0, RPI is 0.25
50
+ expect(valpo.rpi).to be_within(0.0001).of(0.2500)
51
+ end
52
+ end
53
+
23
54
  context "no games played" do
24
55
  # do this and clean up the code
25
56
  before(:each) do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rpi-calculator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Cox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-10 00:00:00.000000000 Z
11
+ date: 2014-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,14 +28,14 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
@@ -56,28 +56,28 @@ dependencies:
56
56
  name: guard
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: guard-rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  description: ''
@@ -97,7 +97,9 @@ files:
97
97
  - lib/crashing_the_dance/rpi_calculator/rpi.rb
98
98
  - lib/crashing_the_dance/rpi_calculator/version.rb
99
99
  - rpi-calculator.gemspec
100
+ - spec/fixtures/games-onegame.csv
100
101
  - spec/fixtures/games-palm.csv
102
+ - spec/fixtures/teams-onegame.csv
101
103
  - spec/fixtures/teams-palm.csv
102
104
  - spec/fixtures/teams-single.csv
103
105
  - spec/lib/opponent_game_spec.rb
@@ -128,7 +130,9 @@ signing_key:
128
130
  specification_version: 4
129
131
  summary: On your computer, calculatin' your RPI.
130
132
  test_files:
133
+ - spec/fixtures/games-onegame.csv
131
134
  - spec/fixtures/games-palm.csv
135
+ - spec/fixtures/teams-onegame.csv
132
136
  - spec/fixtures/teams-palm.csv
133
137
  - spec/fixtures/teams-single.csv
134
138
  - spec/lib/opponent_game_spec.rb