assert-random 0.1.0 → 0.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.
- data/VERSION +1 -1
- data/assert-random.gemspec +1 -1
- data/lib/assert-random.rb +24 -14
- data/test/test_assert-random.rb +22 -4
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/assert-random.gemspec
CHANGED
data/lib/assert-random.rb
CHANGED
@@ -8,33 +8,43 @@ module AssertRandom
|
|
8
8
|
results.push yield
|
9
9
|
end
|
10
10
|
assert_block("2 or more values match") { !same_values? results }
|
11
|
-
|
11
|
+
assert_block("Results are in a sequence") { !in_sequence? results }
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
|
16
16
|
private
|
17
17
|
def same_values?(results)
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
results.each do
|
19
|
+
last_result = results.shift
|
20
|
+
results.each do |r|
|
21
|
+
return true if(last_result == r)
|
22
|
+
end
|
21
23
|
end
|
22
24
|
false
|
23
25
|
end
|
24
26
|
|
25
|
-
|
27
|
+
|
26
28
|
def in_sequence?(results)
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
29
|
+
differences = Array.new
|
30
|
+
results.each do
|
31
|
+
last_result = results.shift
|
32
|
+
results.each do |r|
|
33
|
+
differences.push last_result - r
|
34
|
+
end
|
35
|
+
end
|
36
|
+
sorted_difference = {}
|
37
|
+
differences.each do |d|
|
38
|
+
if sorted_difference.has_key? d
|
39
|
+
sorted_difference[d] += 1
|
40
|
+
else
|
41
|
+
sorted_difference[d] = 1
|
42
|
+
end
|
33
43
|
end
|
34
|
-
|
44
|
+
return sorted_difference.size < 1
|
35
45
|
end
|
36
|
-
|
37
|
-
|
46
|
+
|
47
|
+
|
38
48
|
end
|
39
49
|
end
|
40
50
|
|
data/test/test_assert-random.rb
CHANGED
@@ -34,15 +34,33 @@ class TestAssertRandom < Test::Unit::TestCase
|
|
34
34
|
end
|
35
35
|
|
36
36
|
|
37
|
-
=begin
|
38
37
|
def test_fails_if_results_are_in_order
|
39
38
|
assert_raise Test::Unit::AssertionFailedError do
|
40
39
|
counter = 0
|
41
40
|
assert_random do
|
42
|
-
counter
|
41
|
+
counter =+ 1
|
43
42
|
end
|
44
43
|
end
|
45
44
|
end
|
46
|
-
|
47
|
-
|
45
|
+
|
46
|
+
|
47
|
+
def test_fails_if_results_are_in_order_by_tens
|
48
|
+
assert_raise Test::Unit::AssertionFailedError do
|
49
|
+
counter = 0
|
50
|
+
assert_random do
|
51
|
+
counter =+ 10
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
def test_fails_if_results_are_in_order_by_one_point_fours
|
58
|
+
assert_raise Test::Unit::AssertionFailedError do
|
59
|
+
counter = 0
|
60
|
+
assert_random do
|
61
|
+
counter =+ 1.4
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
48
66
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: assert-random
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
8
|
+
- 2
|
9
9
|
- 0
|
10
|
-
version: 0.
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Stewart Matheson
|