bridge 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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).round(-1)
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(precision = 2)
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).round(precision)
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] ||= (@scores.inject(0.0) { |points, s| points += Bridge::Points.imps(score - s) } / (@scores.size - 1)).round(1)
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
@@ -1,3 +1,3 @@
1
1
  module Bridge
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -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(1)
31
- assert_equal 100.0, maximum_in_percents[200]
32
- assert_equal 61.5, maximum_in_percents[100]
33
- assert_equal 15.4, maximum_in_percents[-600]
34
- assert_equal 0.0, maximum_in_percents[-630]
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(2)
39
- assert_equal 100.0, maximum_in_percents[550]
40
- assert_equal 80.0, maximum_in_percents[500]
41
- assert_equal 60.0, maximum_in_percents[430]
42
- assert_equal 40.0, maximum_in_percents[420]
43
- assert_equal 20.0, maximum_in_percents[200]
44
- assert_equal 0.0, maximum_in_percents[170]
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
- assert_equal 6.2, cavendish[690]
60
- assert_equal 5.4, cavendish[660]
61
- assert_equal 4.4, cavendish[630]
62
- assert_equal 4.4, cavendish[620]
63
- assert_equal -9.4, cavendish[-100]
64
- assert_equal -11.0, cavendish[-200]
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
- assert_equal 1.0, cavendish[140]
70
- assert_equal -0.3, cavendish[110]
71
- assert_equal -0.3, cavendish[100]
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
- - 3
9
- version: 0.1.3
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: -942411906783919221
86
+ hash: -2291621128807536229
87
87
  segments:
88
88
  - 0
89
89
  version: "0"