rpi-calculator 0.1.0 → 0.1.1

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: 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