minitest-extra-assertions 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,22 +1,34 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
+ activesupport (3.2.11)
5
+ i18n (~> 0.6)
6
+ multi_json (~> 1.0)
7
+ bourne (1.1.2)
8
+ mocha (= 0.10.5)
4
9
  git (1.2.5)
5
- jeweler (1.8.3)
10
+ i18n (0.6.1)
11
+ jeweler (1.8.4)
6
12
  bundler (~> 1.0)
7
13
  git (>= 1.2.5)
8
14
  rake
9
15
  rdoc
10
- json (1.6.6)
16
+ json (1.7.6)
17
+ metaclass (0.0.1)
11
18
  minitest (2.12.1)
12
- rake (0.9.2.2)
19
+ mocha (0.10.5)
20
+ metaclass (~> 0.0.1)
21
+ multi_json (1.5.0)
22
+ rake (10.0.3)
13
23
  rdoc (3.12)
14
24
  json (~> 1.4)
15
- shoulda (3.0.1)
16
- shoulda-context (~> 1.0.0)
17
- shoulda-matchers (~> 1.0.0)
18
- shoulda-context (1.0.0)
19
- shoulda-matchers (1.0.0)
25
+ shoulda (3.3.2)
26
+ shoulda-context (~> 1.0.1)
27
+ shoulda-matchers (~> 1.4.1)
28
+ shoulda-context (1.0.2)
29
+ shoulda-matchers (1.4.2)
30
+ activesupport (>= 3.0.0)
31
+ bourne (~> 1.1.2)
20
32
 
21
33
  PLATFORMS
22
34
  ruby
data/README.rdoc CHANGED
@@ -18,6 +18,10 @@ salve the headaches involved in switching.
18
18
  * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
19
19
  * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
20
20
 
21
+ == Contributors
22
+
23
+ * @jaggederest: Added assert_between
24
+
21
25
  == Copyright
22
26
 
23
27
  Copyright (c) 2012 Ben Somers. See LICENSE.txt for further details.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -10,13 +10,26 @@ module MiniTest
10
10
  assert obj == true, msg
11
11
  end
12
12
 
13
- # This is pull-requested for minitest proper, hopefully will be merged soon
13
+ # This actually conflicts with behavior in minitest proper; this mimics the
14
+ # old Test::Unit implementation, relying on the #=~ method of the actual object.
15
+ # Minitest calls #=~ on the matcher instead, which is honestly better by the POLS
16
+ # but makes it much more difficult to test objects that have custom #=~ implementations.
14
17
  def assert_match exp, act, msg = nil
15
18
  msg = message(msg) { "Expected #{mu_pp(exp)} to match #{mu_pp(act)}" }
16
19
  assert_respond_to act, "=~"
17
20
  exp = Regexp.new(Regexp.escape(exp)) if String === exp
18
21
  assert act =~ exp, msg
19
22
  end
23
+
24
+ def assert_between(*args)
25
+ hi, lo, exp, msg = if args.first.is_a?(Range)
26
+ [args.first.begin, args.first.end, args[1], args[2]]
27
+ else
28
+ args[0..3]
29
+ end
30
+ msg = message(msg) { "Expected #{mu_pp(exp)} to be between #{mu_pp(lo)} and #{mu_pp(hi)}" }
31
+ assert (lo < exp && exp < hi) || (hi < exp && exp < lo), msg
32
+ end
20
33
  end
21
34
  end
22
35
 
@@ -0,0 +1,62 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = "minitest-extra-assertions"
8
+ s.version = "0.2.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Ben Somers"]
12
+ s.date = "2013-01-23"
13
+ s.description = "Additional assertions for seattlerb's popular MiniTest framework. Mostly aimed around improving compatibility with test-unit."
14
+ s.email = "somers.ben@gmail.com"
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ "Gemfile",
22
+ "Gemfile.lock",
23
+ "LICENSE.txt",
24
+ "README.rdoc",
25
+ "Rakefile",
26
+ "VERSION",
27
+ "lib/minitest-extra-assertions.rb",
28
+ "minitest-extra-assertions.gemspec",
29
+ "test/helper.rb",
30
+ "test/test_minitest-extra-assertions.rb"
31
+ ]
32
+ s.homepage = "http://github.com/bensomers/minitest-extra-assertions"
33
+ s.licenses = ["MIT"]
34
+ s.require_paths = ["lib"]
35
+ s.rubygems_version = "1.8.24"
36
+ s.summary = "Extra assertions for MiniTest"
37
+
38
+ if s.respond_to? :specification_version then
39
+ s.specification_version = 3
40
+
41
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
+ s.add_development_dependency(%q<minitest>, ["~> 2.0"])
43
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
44
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
45
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
46
+ s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
47
+ else
48
+ s.add_dependency(%q<minitest>, ["~> 2.0"])
49
+ s.add_dependency(%q<shoulda>, [">= 0"])
50
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
51
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
52
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
53
+ end
54
+ else
55
+ s.add_dependency(%q<minitest>, ["~> 2.0"])
56
+ s.add_dependency(%q<shoulda>, [">= 0"])
57
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
58
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
59
+ s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
60
+ end
61
+ end
62
+
@@ -79,6 +79,37 @@ class TestMinitestExtraAssertions < Test::Unit::TestCase
79
79
  end
80
80
  end
81
81
 
82
+ context ".assert_between" do
83
+ should "return true for basic integers" do
84
+ @assertion_count = 1
85
+ assert_equal true, @tc.assert_between(1,10,5), "returns true for 1 to 10 and 5"
86
+ end
87
+
88
+ should "return true for the range case" do
89
+ @assertion_count = 1
90
+ assert_equal true, @tc.assert_between((1..10), 5), "returns true for 1..10 with 5"
91
+ end
92
+
93
+ should "handle the case where the hi part is first" do
94
+ @assertion_count = 1
95
+ assert_equal true, @tc.assert_between(10, 1, 5), "returns true for 10 to 1, with 5"
96
+ end
97
+
98
+ should "return false for values outside the bounds" do
99
+ @assertion_count = 1
100
+ util_assert_triggered "Expected 100 to be between 10 and 1." do
101
+ @tc.assert_between(1, 10, 100)
102
+ end
103
+ end
104
+
105
+ should "raise error for incompatible values" do
106
+ @assertion_count = 0
107
+ assert_raises ArgumentError do
108
+ @tc.assert_between(1, 10, Time.now)
109
+ end
110
+ end
111
+ end
112
+
82
113
  # This is pull-requested for minitest proper, hopefully will be merged soon
83
114
  def test_assert_match_unusual_object
84
115
  @assertion_count = 2
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-extra-assertions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-04-12 00:00:00.000000000 Z
12
+ date: 2013-01-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
16
- requirement: &70244354802520 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '2.0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70244354802520
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '2.0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: shoulda
27
- requirement: &70244354817600 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70244354817600
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rdoc
38
- requirement: &70244354816100 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ~>
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '3.12'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70244354816100
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '3.12'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: bundler
49
- requirement: &70244354813680 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ~>
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '1.0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70244354813680
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: '1.0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: jeweler
60
- requirement: &70244354812480 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ~>
@@ -65,7 +85,12 @@ dependencies:
65
85
  version: 1.8.3
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70244354812480
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ~>
92
+ - !ruby/object:Gem::Version
93
+ version: 1.8.3
69
94
  description: Additional assertions for seattlerb's popular MiniTest framework. Mostly
70
95
  aimed around improving compatibility with test-unit.
71
96
  email: somers.ben@gmail.com
@@ -83,6 +108,7 @@ files:
83
108
  - Rakefile
84
109
  - VERSION
85
110
  - lib/minitest-extra-assertions.rb
111
+ - minitest-extra-assertions.gemspec
86
112
  - test/helper.rb
87
113
  - test/test_minitest-extra-assertions.rb
88
114
  homepage: http://github.com/bensomers/minitest-extra-assertions
@@ -100,7 +126,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
126
  version: '0'
101
127
  segments:
102
128
  - 0
103
- hash: 4398898394209274623
129
+ hash: -2295176469853663409
104
130
  required_rubygems_version: !ruby/object:Gem::Requirement
105
131
  none: false
106
132
  requirements:
@@ -109,7 +135,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
135
  version: '0'
110
136
  requirements: []
111
137
  rubyforge_project:
112
- rubygems_version: 1.8.17
138
+ rubygems_version: 1.8.24
113
139
  signing_key:
114
140
  specification_version: 3
115
141
  summary: Extra assertions for MiniTest