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 CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{assert-random}
8
- s.version = "0.1.0"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Stewart Matheson"]
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
- #assert_block("results are in a sequence") { !in_sequence? results }
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
- last_result = results.shift
19
- results.each do |r|
20
- return true if(last_result == r)
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
- =begin
27
+
26
28
  def in_sequence?(results)
27
- last_result = results.shift
28
- diff = last_result - results.first
29
- results.each do |r|
30
- current_diff = r - last_result
31
- return false if(diff != current_diff)
32
- last_result = r
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
- true
44
+ return sorted_difference.size < 1
35
45
  end
36
- =end
37
-
46
+
47
+
38
48
  end
39
49
  end
40
50
 
@@ -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 += 1
41
+ counter =+ 1
43
42
  end
44
43
  end
45
44
  end
46
- =end
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: 27
4
+ hash: 23
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
- - 1
8
+ - 2
9
9
  - 0
10
- version: 0.1.0
10
+ version: 0.2.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Stewart Matheson