bridge 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/bridge/points/duplicate.rb +4 -4
- data/lib/bridge/version.rb +1 -1
- data/test/test_duplicate.rb +21 -21
- metadata +3 -3
@@ -14,7 +14,7 @@ module Bridge::Points
|
|
14
14
|
|
15
15
|
def average_score(number_to_skip = 1)
|
16
16
|
scores = skipped_scores(number_to_skip)
|
17
|
-
(scores.inject(0.0) { |result, score| result += score} / scores.size).
|
17
|
+
((scores.inject(0.0) { |result, score| result += score} / scores.size) + 5).div(10) * 10
|
18
18
|
end
|
19
19
|
|
20
20
|
def maximum
|
@@ -25,10 +25,10 @@ module Bridge::Points
|
|
25
25
|
end
|
26
26
|
end
|
27
27
|
|
28
|
-
def maximum_in_percents
|
28
|
+
def maximum_in_percents
|
29
29
|
maximum.tap do |result|
|
30
30
|
result.each do |score, points|
|
31
|
-
result[score] = (points * 100.0 / theoretical_maximum)
|
31
|
+
result[score] = (points * 100.0 / theoretical_maximum)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -44,7 +44,7 @@ module Bridge::Points
|
|
44
44
|
def cavendish
|
45
45
|
{}.tap do |result|
|
46
46
|
@scores.each do |score|
|
47
|
-
result[score] ||=
|
47
|
+
result[score] ||= @scores.inject(0.0) { |points, s| points += Bridge::Points.imps(score - s) } / (@scores.size - 1)
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
data/lib/bridge/version.rb
CHANGED
data/test/test_duplicate.rb
CHANGED
@@ -27,21 +27,21 @@ class TestDuplicate < Test::Unit::TestCase
|
|
27
27
|
end
|
28
28
|
|
29
29
|
test "maximum percents with non-unique values" do
|
30
|
-
maximum_in_percents = Bridge::Points::Duplicate.new(-630, 100, 100, -600, 200, -600, 100, 100, 100, -600, 100, 100, 100, 100).maximum_in_percents
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
30
|
+
maximum_in_percents = Bridge::Points::Duplicate.new(-630, 100, 100, -600, 200, -600, 100, 100, 100, -600, 100, 100, 100, 100).maximum_in_percents
|
31
|
+
assert_in_delta 100.0, maximum_in_percents[200], 0.05
|
32
|
+
assert_in_delta 61.5, maximum_in_percents[100], 0.05
|
33
|
+
assert_in_delta 15.4, maximum_in_percents[-600], 0.05
|
34
|
+
assert_in_delta 0.0, maximum_in_percents[-630], 0.05
|
35
35
|
end
|
36
36
|
|
37
37
|
test "maximum percents with unique-values" do
|
38
|
-
maximum_in_percents = Bridge::Points::Duplicate.new(200, 170, 500, 430, 550, 420).maximum_in_percents
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
38
|
+
maximum_in_percents = Bridge::Points::Duplicate.new(200, 170, 500, 430, 550, 420).maximum_in_percents
|
39
|
+
assert_in_delta 100.0, maximum_in_percents[550], 0.005
|
40
|
+
assert_in_delta 80.0, maximum_in_percents[500], 0.005
|
41
|
+
assert_in_delta 60.0, maximum_in_percents[430], 0.005
|
42
|
+
assert_in_delta 40.0, maximum_in_percents[420], 0.005
|
43
|
+
assert_in_delta 20.0, maximum_in_percents[200], 0.005
|
44
|
+
assert_in_delta 0.0, maximum_in_percents[170], 0.005
|
45
45
|
end
|
46
46
|
|
47
47
|
test "butler with skipping the highest and the lowest score" do
|
@@ -56,18 +56,18 @@ class TestDuplicate < Test::Unit::TestCase
|
|
56
56
|
|
57
57
|
test "cavendish with unique values" do
|
58
58
|
cavendish = Bridge::Points::Duplicate.new(690, 660, 630, 620, -100, -200).cavendish
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
59
|
+
assert_in_delta 6.2, cavendish[690], 0.05
|
60
|
+
assert_in_delta 5.4, cavendish[660], 0.05
|
61
|
+
assert_in_delta 4.4, cavendish[630], 0.05
|
62
|
+
assert_in_delta 4.4, cavendish[620], 0.05
|
63
|
+
assert_in_delta -9.4, cavendish[-100], 0.05
|
64
|
+
assert_in_delta -11.0, cavendish[-200], 0.05
|
65
65
|
end
|
66
66
|
|
67
67
|
test "cavendish with non-unique values" do
|
68
68
|
cavendish = Bridge::Points::Duplicate.new(100, 100, 110, 140).cavendish
|
69
|
-
|
70
|
-
|
71
|
-
|
69
|
+
assert_in_delta 1.0, cavendish[140], 0.05
|
70
|
+
assert_in_delta -0.3, cavendish[110], 0.05
|
71
|
+
assert_in_delta -0.3, cavendish[100], 0.05
|
72
72
|
end
|
73
73
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 4
|
9
|
+
version: 0.1.4
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- "Jakub Ku\xC5\xBAma"
|
@@ -83,7 +83,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
83
83
|
requirements:
|
84
84
|
- - ">="
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
hash: -
|
86
|
+
hash: -2291621128807536229
|
87
87
|
segments:
|
88
88
|
- 0
|
89
89
|
version: "0"
|