spicycode-micronaut 0.0.2 → 0.0.3
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/Rakefile +23 -10
- data/examples/example_helper.rb +3 -3
- data/examples/lib/micronaut/behaviour_group_example.rb +175 -0
- data/examples/lib/micronaut/expectations/differs/default_example.rb +1 -2
- data/examples/lib/micronaut/expectations/extensions/object_example.rb +15 -8
- data/examples/lib/micronaut/expectations/fail_with_example.rb +2 -2
- data/examples/lib/micronaut/matchers/be_close_example.rb +42 -0
- data/examples/lib/micronaut/matchers/be_example.rb +257 -0
- data/examples/lib/micronaut/matchers/change_example.rb +329 -0
- data/examples/lib/micronaut/matchers/description_generation_example.rb +167 -0
- data/examples/lib/micronaut/matchers/eql_example.rb +29 -0
- data/examples/lib/micronaut/matchers/equal_example.rb +29 -0
- data/examples/lib/micronaut/matchers/exist_example.rb +69 -0
- data/examples/lib/micronaut/matchers/handler_example.rb +146 -0
- data/examples/lib/micronaut/matchers/has_example.rb +63 -0
- data/examples/lib/micronaut/matchers/have_example.rb +575 -0
- data/examples/lib/micronaut/matchers/include_example.rb +88 -0
- data/examples/lib/micronaut/matchers/match_example.rb +41 -0
- data/examples/lib/micronaut/matchers/matcher_methods_example.rb +66 -0
- data/examples/lib/micronaut/matchers/operator_matcher_example.rb +191 -0
- data/examples/lib/micronaut/matchers/raise_error_example.rb +315 -0
- data/examples/lib/micronaut/matchers/respond_to_example.rb +54 -0
- data/examples/lib/micronaut/matchers/satisfy_example.rb +36 -0
- data/examples/lib/micronaut/matchers/simple_matcher_example.rb +93 -0
- data/examples/lib/micronaut/matchers/throw_symbol_example.rb +96 -0
- data/examples/resources/example_classes.rb +67 -0
- data/lib/autotest/micronaut.rb +9 -4
- data/lib/micronaut/behaviour_group.rb +43 -0
- data/lib/micronaut/behaviour_group_class_methods.rb +134 -0
- data/lib/micronaut/example_runner.rb +7 -9
- data/lib/micronaut/example_world.rb +11 -7
- data/lib/micronaut/expectations/differs/default.rb +6 -15
- data/lib/micronaut/expectations/errors.rb +7 -0
- data/lib/micronaut/expectations/{object_extensions.rb → extensions/object.rb} +5 -4
- data/lib/micronaut/expectations/{string_and_symbol_extensions.rb → extensions/string_and_symbol.rb} +0 -0
- data/lib/micronaut/expectations/extensions.rb +2 -0
- data/lib/micronaut/expectations/wrap_expectation.rb +5 -0
- data/lib/micronaut/expectations.rb +5 -5
- data/lib/micronaut/extensions/kernel.rb +2 -4
- data/lib/micronaut/matchers/be_close.rb +6 -22
- data/lib/micronaut/matchers/eql.rb +7 -25
- data/lib/micronaut/matchers/equal.rb +6 -24
- data/lib/micronaut/matchers/exist.rb +8 -14
- data/lib/micronaut/matchers/has.rb +12 -28
- data/lib/micronaut/matchers/include.rb +12 -9
- data/lib/micronaut/matchers/match.rb +8 -27
- data/lib/micronaut/matchers/method_missing.rb +1 -1
- data/lib/micronaut/matchers/operator_matcher.rb +23 -46
- data/lib/micronaut/matchers/raise_error.rb +4 -8
- data/lib/micronaut/matchers/respond_to.rb +2 -1
- data/lib/micronaut/matchers/throw_symbol.rb +9 -3
- data/lib/micronaut/matchers.rb +10 -3
- data/lib/micronaut/mocking/with_mocha.rb +0 -1
- data/lib/micronaut.rb +3 -3
- metadata +31 -7
- data/examples/lib/micronaut/example_group_example.rb +0 -116
- data/lib/micronaut/example_group.rb +0 -100
- data/lib/micronaut/exceptions.rb +0 -7
@@ -1,116 +0,0 @@
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + "/../../example_helper")
|
2
|
-
|
3
|
-
describe Micronaut::ExampleGroup do
|
4
|
-
class Foo; end
|
5
|
-
|
6
|
-
def scenario_1
|
7
|
-
example_group = Micronaut::ExampleGroup.new(Foo, "Scenario 1")
|
8
|
-
example_group.it("should do 1 thing") { 1 }
|
9
|
-
example_group.it("should do 2 thing") { 2 }
|
10
|
-
example_group.it("should do 3 thing") { 3 }
|
11
|
-
example_group
|
12
|
-
end
|
13
|
-
|
14
|
-
def scenario_2
|
15
|
-
example_group = Micronaut::ExampleGroup.new(Foo, "Scenario 2")
|
16
|
-
example_group.before { 'beforeeach1' }
|
17
|
-
example_group.before { 'beforeeach2' }
|
18
|
-
example_group.before(:all) { 'beforeall1' }
|
19
|
-
example_group.before(:all) { 'beforeall2' }
|
20
|
-
example_group
|
21
|
-
end
|
22
|
-
|
23
|
-
def scenario_3
|
24
|
-
example_group = Micronaut::ExampleGroup.new(Foo, "Scenario 3")
|
25
|
-
example_group.after { 'aftereach1' }
|
26
|
-
example_group.after { 'aftereach2' }
|
27
|
-
example_group.after(:all) { 'afterall1' }
|
28
|
-
example_group.after(:all) { 'afterall2' }
|
29
|
-
example_group
|
30
|
-
end
|
31
|
-
|
32
|
-
it "should make the first parameter the name by calling to_s on it" do
|
33
|
-
scenario_1.name.should == 'Foo'
|
34
|
-
end
|
35
|
-
|
36
|
-
it "should make the second parameter the description" do
|
37
|
-
scenario_1.description.should == 'Scenario 1'
|
38
|
-
end
|
39
|
-
|
40
|
-
it "scenario 1 should have 3 examples" do
|
41
|
-
scenario_1.should have(3).examples
|
42
|
-
end
|
43
|
-
|
44
|
-
it "scenario 1 should maintain the example order" do
|
45
|
-
example_group = scenario_1
|
46
|
-
example_group.examples[0].first.should == 'should do 1 thing'
|
47
|
-
example_group.examples[1].first.should == 'should do 2 thing'
|
48
|
-
example_group.examples[2].first.should == 'should do 3 thing'
|
49
|
-
end
|
50
|
-
|
51
|
-
it "scenario 1 should allow you to call it's examples" do
|
52
|
-
example_group = scenario_1
|
53
|
-
example_group.examples[0].last.call.should == 1
|
54
|
-
example_group.examples[1].last.call.should == 2
|
55
|
-
example_group.examples[2].last.call.should == 3
|
56
|
-
end
|
57
|
-
|
58
|
-
it "scenario 2 should have 2 before each parts" do
|
59
|
-
scenario_2.should have(2).before_each_parts
|
60
|
-
end
|
61
|
-
|
62
|
-
it "scenario 2 should have 2 before all parts" do
|
63
|
-
scenario_2.should have(2).before_all_parts
|
64
|
-
end
|
65
|
-
|
66
|
-
it "scenario 2 should maintain the before parts order" do
|
67
|
-
example_group = scenario_2
|
68
|
-
example_group.before_all_parts[0].call.should == 'beforeall1'
|
69
|
-
example_group.before_all_parts[1].call.should == 'beforeall2'
|
70
|
-
example_group.before_each_parts[0].call.should == 'beforeeach1'
|
71
|
-
example_group.before_each_parts[1].call.should == 'beforeeach2'
|
72
|
-
end
|
73
|
-
|
74
|
-
it "scenario 3 should have 2 after each parts" do
|
75
|
-
scenario_3.should have(2).after_each_parts
|
76
|
-
end
|
77
|
-
|
78
|
-
it "scenario 3 should have 2 after all parts" do
|
79
|
-
scenario_3.should have(2).after_all_parts
|
80
|
-
end
|
81
|
-
|
82
|
-
it "scenario 3 should maintain the after parts order" do
|
83
|
-
example_group = scenario_3
|
84
|
-
example_group.after_all_parts[0].call.should == 'afterall1'
|
85
|
-
example_group.after_all_parts[1].call.should == 'afterall2'
|
86
|
-
example_group.after_each_parts[0].call.should == 'aftereach1'
|
87
|
-
example_group.after_each_parts[1].call.should == 'aftereach2'
|
88
|
-
end
|
89
|
-
|
90
|
-
def scenario_4
|
91
|
-
example_group = Micronaut::ExampleGroup.new(Foo, "Scenario 4")
|
92
|
-
example_group
|
93
|
-
end
|
94
|
-
|
95
|
-
it "scenario 4 should run the before all blocks, before each blocks, the example, the after each blocks, and finally the after all blocks" do
|
96
|
-
example_group = scenario_4
|
97
|
-
example_group.before(:all) { 'before_all_1' }
|
98
|
-
example_group.before(:all) { 'before_all_2' }
|
99
|
-
example_group.before { "before_each_1"; @foo = 2 }
|
100
|
-
example_group.before { "before_each_2"; @foo += 1 }
|
101
|
-
example_group.before { "before_each_3"; @foo += 2 }
|
102
|
-
example_group.after { "after_each_1"; @foo = 3 }
|
103
|
-
example_group.after { "after_each_2"; 'final after each' }
|
104
|
-
example_group.after(:all) { 'after_all_1' }
|
105
|
-
example_group.after(:all) { 'after_all_2' }
|
106
|
-
|
107
|
-
example_group.it("prints out the value of the @foo variable") do
|
108
|
-
@foo.should == 5
|
109
|
-
end
|
110
|
-
example_group.it("other example") do
|
111
|
-
|
112
|
-
end
|
113
|
-
example_group.run
|
114
|
-
end
|
115
|
-
|
116
|
-
end
|
@@ -1,100 +0,0 @@
|
|
1
|
-
class Micronaut::ExampleGroup
|
2
|
-
include Micronaut::Matchers
|
3
|
-
include Micronaut::Mocking::WithMocha
|
4
|
-
|
5
|
-
attr_reader :name, :description, :examples, :before_parts, :after_parts
|
6
|
-
|
7
|
-
def initialize(const_or_name, description=nil)
|
8
|
-
@name, @description = const_or_name.to_s, description
|
9
|
-
@examples, @before_parts, @after_parts = [], {:each => [], :all => []}, {:each => [], :all => []}
|
10
|
-
end
|
11
|
-
|
12
|
-
def before(type = :each, &block)
|
13
|
-
@before_parts[type] << block
|
14
|
-
end
|
15
|
-
|
16
|
-
def before_each_parts
|
17
|
-
@before_parts[:each]
|
18
|
-
end
|
19
|
-
|
20
|
-
def before_all_parts
|
21
|
-
@before_parts[:all]
|
22
|
-
end
|
23
|
-
|
24
|
-
def after(type = :each, &block)
|
25
|
-
@after_parts[type] << block
|
26
|
-
end
|
27
|
-
|
28
|
-
def after_each_parts
|
29
|
-
@after_parts[:each]
|
30
|
-
end
|
31
|
-
|
32
|
-
def after_all_parts
|
33
|
-
@after_parts[:all]
|
34
|
-
end
|
35
|
-
|
36
|
-
def it(example_description, &example_block)
|
37
|
-
@examples << [example_description, example_block]
|
38
|
-
end
|
39
|
-
|
40
|
-
def run
|
41
|
-
before_all_parts.each { |part| part.call }
|
42
|
-
|
43
|
-
@examples.each do |example_description, example_block|
|
44
|
-
|
45
|
-
before_each_parts.each { |part| part.call }
|
46
|
-
|
47
|
-
example_block.call
|
48
|
-
|
49
|
-
after_each_parts.each { |part| part.call }
|
50
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
after_all_parts.each { |part| part.call }
|
54
|
-
end
|
55
|
-
|
56
|
-
def run_group_using(runner)
|
57
|
-
result = ''
|
58
|
-
|
59
|
-
begin
|
60
|
-
@passed = nil
|
61
|
-
|
62
|
-
before_all_parts.each { |part| part.call }
|
63
|
-
|
64
|
-
@examples.each do |example_description, example_block|
|
65
|
-
|
66
|
-
setup_mocks
|
67
|
-
|
68
|
-
before_each_parts.each { |part| part.call }
|
69
|
-
|
70
|
-
if example_block.nil?
|
71
|
-
result << 'P'
|
72
|
-
else
|
73
|
-
example_block.call
|
74
|
-
end
|
75
|
-
|
76
|
-
result << '.'
|
77
|
-
|
78
|
-
after_each_parts.each { |part| part.call }
|
79
|
-
|
80
|
-
verify_mocks
|
81
|
-
|
82
|
-
teardown_mocks
|
83
|
-
end
|
84
|
-
|
85
|
-
@passed = true
|
86
|
-
rescue Exception => e
|
87
|
-
result << runner.complain(self.class, self.name, e)
|
88
|
-
@passed = false
|
89
|
-
ensure
|
90
|
-
begin
|
91
|
-
after_all_parts.each { |part| part.call }
|
92
|
-
rescue Exception => e
|
93
|
-
result << runner.complain(self.class, self.name, e)
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
result
|
98
|
-
end
|
99
|
-
|
100
|
-
end
|