icu_ratings 1.6.1 → 1.7.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.
- data/lib/icu_ratings/tournament.rb +4 -0
- data/lib/icu_ratings/version.rb +1 -1
- data/spec/tournament_spec.rb +176 -0
- metadata +4 -4
data/lib/icu_ratings/version.rb
CHANGED
data/spec/tournament_spec.rb
CHANGED
@@ -2445,5 +2445,181 @@ module ICU
|
|
2445
2445
|
post_cap_bonus.should be < 0
|
2446
2446
|
end
|
2447
2447
|
end
|
2448
|
+
|
2449
|
+
context "#rate - tournament with convergence problem" do
|
2450
|
+
before(:each) do
|
2451
|
+
@t = ICU::RatedTournament.new(desc: "Connaught U16 Juniors 2013")
|
2452
|
+
|
2453
|
+
@p01 = @t.add_player(1, desc: "Ni Mhuireagain, Eibhia", rating: 1169, kfactor: 40)
|
2454
|
+
@p02 = @t.add_player(2, desc: "Kelly,Jack")
|
2455
|
+
@p03 = @t.add_player(3, desc: "Murray,Ellen", rating: 340, kfactor: 40)
|
2456
|
+
@p04 = @t.add_player(4, desc: "Hanrahan,David", rating: 613, games: 3)
|
2457
|
+
@p05 = @t.add_player(5, desc: "Fleming,Leah")
|
2458
|
+
@p06 = @t.add_player(6, desc: "Kozlovs,Andrejs")
|
2459
|
+
@p07 = @t.add_player(7, desc: "Fernhead,George")
|
2460
|
+
@p08 = @t.add_player(8, desc: "Ryan,Clodagh")
|
2461
|
+
@p09 = @t.add_player(9, desc: "Connolly,Sean", rating: 462, games: 6)
|
2462
|
+
@p10 = @t.add_player(10, desc: "Fernhead,John")
|
2463
|
+
@p11 = @t.add_player(11, desc: "McStay,Thomas", rating: 376, games: 12)
|
2464
|
+
@p12 = @t.add_player(12, desc: "Mitchell,Jack", rating: 228, games: 11)
|
2465
|
+
@p13 = @t.add_player(13, desc: "McDonagh,Conor")
|
2466
|
+
@p14 = @t.add_player(14, desc: "Arinyoy,Other")
|
2467
|
+
@p15 = @t.add_player(15, desc: "O'Tuathail,Eimear", rating: 370, games: 7)
|
2468
|
+
@p16 = @t.add_player(16, desc: "Fleming,Harry")
|
2469
|
+
@p17 = @t.add_player(17, desc: "Ritter,Johannes")
|
2470
|
+
@p18 = @t.add_player(18, desc: "Mahon,Colm")
|
2471
|
+
@p19 = @t.add_player(19, desc: "Connell,Kevin")
|
2472
|
+
@p20 = @t.add_player(20, desc: "Ryan,Aoife")
|
2473
|
+
|
2474
|
+
@t.add_result(1, 1, 17, "W")
|
2475
|
+
@t.add_result(2, 1, 3, "W")
|
2476
|
+
@t.add_result(3, 1, 12, "W")
|
2477
|
+
@t.add_result(4, 1, 2, "W")
|
2478
|
+
@t.add_result(5, 1, 4, "W")
|
2479
|
+
@t.add_result(6, 1, 6, "W")
|
2480
|
+
@t.add_result(7, 1, 10, "W")
|
2481
|
+
@t.add_result(1, 2, 7, "W")
|
2482
|
+
@t.add_result(2, 2, 6, "W")
|
2483
|
+
@t.add_result(3, 2, 13, "W")
|
2484
|
+
@t.add_result(4, 2, 1, "L")
|
2485
|
+
@t.add_result(5, 2, 10, "W")
|
2486
|
+
@t.add_result(6, 2, 3, "W")
|
2487
|
+
@t.add_result(7, 2, 4, "W")
|
2488
|
+
@t.add_result(1, 3, 11, "W")
|
2489
|
+
@t.add_result(2, 3, 1, "L")
|
2490
|
+
@t.add_result(3, 3, 6, "W")
|
2491
|
+
@t.add_result(4, 3, 12, "W")
|
2492
|
+
@t.add_result(5, 3, 15, "W")
|
2493
|
+
@t.add_result(6, 3, 2, "L")
|
2494
|
+
@t.add_result(7, 3, 9, "W")
|
2495
|
+
@t.add_result(1, 4, 19, "W")
|
2496
|
+
@t.add_result(2, 4, 16, "W")
|
2497
|
+
@t.add_result(3, 4, 9, "W")
|
2498
|
+
@t.add_result(4, 4, 10, "D")
|
2499
|
+
@t.add_result(5, 4, 1, "L")
|
2500
|
+
@t.add_result(6, 4, 5, "W")
|
2501
|
+
@t.add_result(7, 4, 2, "L")
|
2502
|
+
@t.add_result(1, 5, 12, "L")
|
2503
|
+
@t.add_result(2, 5, 11, "L")
|
2504
|
+
@t.add_result(3, 5, 20, "W")
|
2505
|
+
@t.add_result(4, 5, 18, "W")
|
2506
|
+
@t.add_result(5, 5, 14, "W")
|
2507
|
+
@t.add_result(6, 5, 4, "L")
|
2508
|
+
@t.add_result(7, 5, 15, "W")
|
2509
|
+
@t.add_result(1, 6, 10, "W")
|
2510
|
+
@t.add_result(2, 6, 2, "L")
|
2511
|
+
@t.add_result(3, 6, 3, "L")
|
2512
|
+
@t.add_result(4, 6, 17, "W")
|
2513
|
+
@t.add_result(5, 6, 9, "W")
|
2514
|
+
@t.add_result(6, 6, 1, "L")
|
2515
|
+
@t.add_result(7, 6, 12, "W")
|
2516
|
+
@t.add_result(1, 7, 2, "L")
|
2517
|
+
@t.add_result(2, 7, 9, "L")
|
2518
|
+
@t.add_result(3, 7, 19, "L")
|
2519
|
+
@t.add_result(4, 7, 20, "W")
|
2520
|
+
@t.add_result(5, 7, 18, "W")
|
2521
|
+
@t.add_result(6, 7, 17, "W")
|
2522
|
+
@t.add_result(7, 7, 14, "W")
|
2523
|
+
@t.add_result(1, 8, 13, "L")
|
2524
|
+
@t.add_result(2, 8, 20, "W")
|
2525
|
+
@t.add_result(3, 8, 14, "W")
|
2526
|
+
@t.add_result(4, 8, 15, "L")
|
2527
|
+
@t.add_result(5, 8, 12, "D")
|
2528
|
+
@t.add_result(6, 8, 9, "L")
|
2529
|
+
@t.add_result(7, 8, 18, "W")
|
2530
|
+
@t.add_result(1, 9, 16, "D")
|
2531
|
+
@t.add_result(2, 9, 7, "W")
|
2532
|
+
@t.add_result(3, 9, 4, "L")
|
2533
|
+
@t.add_result(4, 9, 13, "W")
|
2534
|
+
@t.add_result(5, 9, 6, "L")
|
2535
|
+
@t.add_result(6, 9, 8, "W")
|
2536
|
+
@t.add_result(7, 9, 3, "L")
|
2537
|
+
@t.add_result(1, 10, 6, "L")
|
2538
|
+
@t.add_result(2, 10, 17, "W")
|
2539
|
+
@t.add_result(3, 10, 11, "W")
|
2540
|
+
@t.add_result(4, 10, 4, "D")
|
2541
|
+
@t.add_result(5, 10, 2, "L")
|
2542
|
+
@t.add_result(6, 10, 15, "W")
|
2543
|
+
@t.add_result(7, 10, 1, "L")
|
2544
|
+
@t.add_result(1, 11, 3, "L")
|
2545
|
+
@t.add_result(2, 11, 5, "W")
|
2546
|
+
@t.add_result(3, 11, 10, "L")
|
2547
|
+
@t.add_result(4, 11, 14, "L")
|
2548
|
+
@t.add_result(5, 11, 17, "D")
|
2549
|
+
@t.add_result(6, 11, 19, "W")
|
2550
|
+
@t.add_result(7, 11, 16, "W")
|
2551
|
+
@t.add_result(1, 12, 5, "W")
|
2552
|
+
@t.add_result(2, 12, 14, "W")
|
2553
|
+
@t.add_result(3, 12, 1, "L")
|
2554
|
+
@t.add_result(4, 12, 3, "L")
|
2555
|
+
@t.add_result(5, 12, 8, "D")
|
2556
|
+
@t.add_result(6, 12, 16, "W")
|
2557
|
+
@t.add_result(7, 12, 6, "L")
|
2558
|
+
@t.add_result(1, 13, 8, "W")
|
2559
|
+
@t.add_result(2, 13, 15, "W")
|
2560
|
+
@t.add_result(3, 13, 2, "L")
|
2561
|
+
@t.add_result(4, 13, 9, "L")
|
2562
|
+
@t.add_result(5, 13, 16, "L")
|
2563
|
+
@t.add_result(6, 13, 14, "L")
|
2564
|
+
@t.add_result(7, 13, 19, "W")
|
2565
|
+
@t.add_result(1, 14, 20, "W")
|
2566
|
+
@t.add_result(2, 14, 12, "L")
|
2567
|
+
@t.add_result(3, 14, 8, "L")
|
2568
|
+
@t.add_result(4, 14, 11, "W")
|
2569
|
+
@t.add_result(5, 14, 5, "L")
|
2570
|
+
@t.add_result(6, 14, 13, "W")
|
2571
|
+
@t.add_result(7, 14, 7, "L")
|
2572
|
+
@t.add_result(1, 15, 18, "W")
|
2573
|
+
@t.add_result(2, 15, 13, "L")
|
2574
|
+
@t.add_result(3, 15, 16, "W")
|
2575
|
+
@t.add_result(4, 15, 8, "W")
|
2576
|
+
@t.add_result(5, 15, 3, "L")
|
2577
|
+
@t.add_result(6, 15, 10, "L")
|
2578
|
+
@t.add_result(7, 15, 5, "L")
|
2579
|
+
@t.add_result(1, 16, 9, "D")
|
2580
|
+
@t.add_result(2, 16, 4, "L")
|
2581
|
+
@t.add_result(3, 16, 15, "L")
|
2582
|
+
@t.add_result(4, 16, 19, "W")
|
2583
|
+
@t.add_result(5, 16, 13, "W")
|
2584
|
+
@t.add_result(6, 16, 12, "L")
|
2585
|
+
@t.add_result(7, 16, 11, "L")
|
2586
|
+
@t.add_result(1, 17, 1, "L")
|
2587
|
+
@t.add_result(2, 17, 10, "L")
|
2588
|
+
@t.add_result(3, 17, 18, "W")
|
2589
|
+
@t.add_result(4, 17, 6, "L")
|
2590
|
+
@t.add_result(5, 17, 11, "D")
|
2591
|
+
@t.add_result(6, 17, 7, "L")
|
2592
|
+
@t.add_result(7, 17, 20, "W")
|
2593
|
+
@t.add_result(1, 18, 15, "L")
|
2594
|
+
@t.add_result(2, 18, 19, "W")
|
2595
|
+
@t.add_result(3, 18, 17, "L")
|
2596
|
+
@t.add_result(4, 18, 5, "L")
|
2597
|
+
@t.add_result(5, 18, 7, "L")
|
2598
|
+
@t.add_result(6, 18, 20, "W")
|
2599
|
+
@t.add_result(7, 18, 8, "L")
|
2600
|
+
@t.add_result(1, 19, 4, "L")
|
2601
|
+
@t.add_result(2, 19, 18, "L")
|
2602
|
+
@t.add_result(3, 19, 7, "W")
|
2603
|
+
@t.add_result(4, 19, 16, "L")
|
2604
|
+
@t.add_result(5, 19, 20, "W")
|
2605
|
+
@t.add_result(6, 19, 11, "L")
|
2606
|
+
@t.add_result(7, 19, 13, "L")
|
2607
|
+
@t.add_result(1, 20, 14, "L")
|
2608
|
+
@t.add_result(2, 20, 8, "L")
|
2609
|
+
@t.add_result(3, 20, 5, "L")
|
2610
|
+
@t.add_result(4, 20, 7, "L")
|
2611
|
+
@t.add_result(5, 20, 19, "L")
|
2612
|
+
@t.add_result(6, 20, 18, "L")
|
2613
|
+
@t.add_result(7, 20, 17, "L")
|
2614
|
+
end
|
2615
|
+
|
2616
|
+
it "should not converge with version 2 settings" do
|
2617
|
+
lambda { @t.rate!(version: 2) }.should raise_error(/performance rating estimation did not converge/)
|
2618
|
+
end
|
2619
|
+
|
2620
|
+
it "should converge with version 3 settings (higher maximum number of iterations)" do
|
2621
|
+
lambda { @t.rate!(version: 3) }.should_not raise_error
|
2622
|
+
end
|
2623
|
+
end
|
2448
2624
|
end
|
2449
2625
|
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.
|
4
|
+
version: 1.7.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-08-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -112,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
112
112
|
version: '0'
|
113
113
|
segments:
|
114
114
|
- 0
|
115
|
-
hash:
|
115
|
+
hash: -3613568099200182560
|
116
116
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
117
117
|
none: false
|
118
118
|
requirements:
|
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
version: '0'
|
122
122
|
segments:
|
123
123
|
- 0
|
124
|
-
hash:
|
124
|
+
hash: -3613568099200182560
|
125
125
|
requirements: []
|
126
126
|
rubyforge_project: icu_ratings
|
127
127
|
rubygems_version: 1.8.23
|