icu_ratings 1.1.9 → 1.2.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.
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ICU
4
4
  class Ratings
5
- VERSION = "1.1.9"
5
+ VERSION = "1.2.0"
6
6
  end
7
7
  end
@@ -914,5 +914,85 @@ module ICU
914
914
  end
915
915
  end
916
916
  end
917
+
918
+ context "#rate - Glegowski and Galligan in LCU Div 3 2012" do
919
+ before(:each) do
920
+ @t = ICU::RatedTournament.new(desc: 'LCU Div 3 2011-12', no_bonuses: false)
921
+
922
+ # The two player's we are most interested in. The problem that led to
923
+ # this test was later tracked to Glegowski's K-factor (either 24 or 32).
924
+ @t.add_player(1, kfactor: 24, rating: 1424, desc: 'Cezary Glegolski (10620)')
925
+ @t.add_player(2, desc: 'Sean Galligan (13021)')
926
+
927
+ # Cezary Glegolski opponents.
928
+ @t.add_player(101, kfactor: 24, rating: 1436, desc: 'Michael Dempsey (323)')
929
+ @t.add_player(102, kfactor: 24, rating: 1590, desc: 'Michael D. Keating (2216)')
930
+ @t.add_player(103, kfactor: 40, rating: 1648, desc: 'Ben Quigley (5218)')
931
+ @t.add_player(104, kfactor: 24, rating: 1664, desc: 'Michael Hanley (536)')
932
+ @t.add_player(105, kfactor: 24, rating: 1492, desc: 'Sean Loftus (788)')
933
+ @t.add_player(106, kfactor: 24, rating: 1503, desc: 'Garret Curran (1712)')
934
+ @t.add_player(107, kfactor: 24, rating: 1692, desc: 'Ernie McElroy (1080)')
935
+ @t.add_player(108, kfactor: 24, rating: 1681, desc: 'Sean Nolan (4572)')
936
+ @t.add_player(109, kfactor: 24, rating: 1639, desc: 'Paul Taaffe (2217)')
937
+ @t.add_player(110, kfactor: 24, rating: 1729, desc: 'Kieran Rogers (4028)')
938
+
939
+ # Sean Galligan's opponents.
940
+ # 105
941
+ # 106
942
+ # 107
943
+ @t.add_player(204, kfactor: 24, rating: 1923, desc: 'Brian Gallagher (468)')
944
+ # 109
945
+ @t.add_player(206, kfactor: 24, rating: 1764, desc: 'Rick Goetzee (7190)')
946
+ # 104
947
+ @t.add_player(208, kfactor: 24, rating: 1692, desc: 'Colm Buckley (117))')
948
+ # 102
949
+ @t.add_player(210, kfactor: 24, rating: 1575, desc: 'John Quigley (1393)')
950
+
951
+ # Results.
952
+ @t.add_result(1, 1, 101, "D")
953
+ @t.add_result(2, 1, 102, "W")
954
+ @t.add_result(3, 1, 103, "W")
955
+ @t.add_result(4, 1, 104, "W")
956
+ @t.add_result(5, 1, 105, "W")
957
+ @t.add_result(6, 1, 106, "W")
958
+ @t.add_result(7, 1, 107, "W")
959
+ @t.add_result(8, 1, 108, "L")
960
+ @t.add_result(9, 1, 109, "L")
961
+ @t.add_result(10, 1, 110, "L")
962
+ @t.add_result(11, 1, 2, "L")
963
+ @t.add_result(1, 2, 105, "D")
964
+ @t.add_result(2, 2, 106, "D")
965
+ @t.add_result(3, 2, 107, "D")
966
+ @t.add_result(4, 2, 204, "D")
967
+ @t.add_result(5, 2, 109, "D")
968
+ @t.add_result(6, 2, 206, "W")
969
+ @t.add_result(7, 2, 104, "W")
970
+ @t.add_result(8, 2, 208, "L")
971
+ @t.add_result(9, 2, 102, "D")
972
+ @t.add_result(10, 2, 210, "D")
973
+ @t.add_result(11, 2, 1, "W")
974
+
975
+ # Get the two players of interest.
976
+ @p1 = @t.player(1)
977
+ @p2 = @t.player(2)
978
+ end
979
+
980
+ it "should behave like the Access system" do
981
+ @t.rate!
982
+ @p1.new_rating.should be_within(0.5).of(1511)
983
+ @p1.expected_score.should be_within(0.001).of(2.868)
984
+ @p1.bonus.should == 0
985
+ @p2.new_rating.should be_within(0.5).of(1705)
986
+ end
987
+
988
+ it "should behave like ratings.ciu.ie" do
989
+ @p1.send("kfactor=", 32)
990
+ @t.rate!
991
+ @p1.new_rating.should be_within(0.5).of(1603)
992
+ @p1.expected_score.should be_within(0.001).of(2.868)
993
+ @p1.bonus.should be_within(1).of(63)
994
+ @p2.new_rating.should be_within(0.5).of(1722)
995
+ end
996
+ end
917
997
  end
918
998
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: icu_ratings
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.9
4
+ version: 1.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-08 00:00:00.000000000Z
12
+ date: 2012-06-04 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- requirement: &70139979564000 !ruby/object:Gem::Requirement
16
+ requirement: &70135282405720 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70139979564000
24
+ version_requirements: *70135282405720
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70139979563460 !ruby/object:Gem::Requirement
27
+ requirement: &70135282404620 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70139979563460
35
+ version_requirements: *70135282404620
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70139979562800 !ruby/object:Gem::Requirement
38
+ requirement: &70135282403120 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70139979562800
46
+ version_requirements: *70135282403120
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rdoc
49
- requirement: &70139979562160 !ruby/object:Gem::Requirement
49
+ requirement: &70135282401720 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70139979562160
57
+ version_requirements: *70135282401720
58
58
  description: Build an object that represents a chess tournament then get it to calculate
59
59
  ratings of all the players.
60
60
  email: mark.j.l.orr@googlemail.com
@@ -91,7 +91,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  segments:
93
93
  - 0
94
- hash: 4157063714163539031
94
+ hash: -2717235365110949062
95
95
  required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
@@ -100,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  version: '0'
101
101
  segments:
102
102
  - 0
103
- hash: 4157063714163539031
103
+ hash: -2717235365110949062
104
104
  requirements: []
105
105
  rubyforge_project: icu_ratings
106
106
  rubygems_version: 1.8.10