waitfor 0.1.0 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,9 +1,10 @@
1
- module WaitFor #:nodoc:
2
- module VERSION #:nodoc:
1
+ # @author James Bobowski
2
+ module WaitFor
3
+ module VERSION
3
4
  MAJOR = 0
4
5
  MINOR = 1
5
- TINY = 0
6
-
7
- STRING = [MAJOR, MINOR, TINY].join('.')
6
+ TINY = 7
7
+
8
+ STRING = [ MAJOR, MINOR, TINY ].join( '.' )
8
9
  end
9
10
  end
@@ -0,0 +1,34 @@
1
+ require File.dirname( __FILE__ ) + '/spec_helper.rb'
2
+ require 'lib/waitfor/settings/configuration'
3
+
4
+ describe WaitFor::Settings::Configuration do
5
+
6
+ # This isn't working like it's supposed to!
7
+ # context ".new" do
8
+ # it "should accept an options parameter then hand off the parsing to the parser classes" do
9
+ # new_method = WaitFor::Settings::Configuration.method( :new )
10
+ #
11
+ # WaitFor::Settings::Configuration.stub!( :new ).and_return do |*args|
12
+ # config = new_method.call( *args )
13
+ # config.should_receive( :parser_factory )
14
+ # config
15
+ # end
16
+ # end
17
+ # end
18
+
19
+ context "#parser_factory" do
20
+ it "should use the LegacyParser class when the options parameter's Class is of type Fixnum" do
21
+ WaitFor::Settings::LegacyParser.should_receive( :parse ).with( 0, an_instance_of( WaitFor::Settings::Configuration ) )
22
+ WaitFor::Settings::Configuration.new( 0 )
23
+ end
24
+
25
+ it "should use the Parser class when the options parameter's Class is of type Hash" do
26
+ WaitFor::Settings::Parser.should_receive( :parse ).with( { }, an_instance_of( WaitFor::Settings::Configuration ) )
27
+ WaitFor::Settings::Configuration.new( { } )
28
+ end
29
+
30
+ it "should raise an exception when the options parameter's Class isn't either Fixnum or Hash" do
31
+ lambda { WaitFor::Settings::Configuration.new( false ) }.should raise_error
32
+ end
33
+ end
34
+ end
@@ -1,29 +1,27 @@
1
1
  require File.dirname( __FILE__ ) + '/spec_helper.rb'
2
2
 
3
- describe Fixnum, "Convert Seconds to Seconds" do
4
- it "should take the unit of 'second' ( singular ) with the amount of 1 and return 1" do
5
- 1 == 1.second
3
+ describe Fixnum do
4
+ context ".second" do
5
+ it "should take the singular unit of 'second' and return the number of seconds" do
6
+ 1 == 1.second
7
+ end
6
8
  end
7
9
 
8
- it "should take the unit of 'seconds' ( plural ) with the amount of 1 and return 1" do
9
- 1 == 1.seconds
10
+ context ".seconds" do
11
+ it "should take the plural unit of 'seconds' and return the number of seconds" do
12
+ 5 == 5.seconds
13
+ end
10
14
  end
11
15
 
12
- it "should take the unit of 'seconds' with the amount of 60 and return 60" do
13
- 60 == 60.seconds
14
- end
15
- end
16
-
17
- describe Fixnum, "Convert Minutes to Seconds" do
18
- it "should take the unit of 'minute' ( singular ) with the amount of 1 and return 60" do
19
- 60 == 1.minute
16
+ context ".minute" do
17
+ it "should take the singular unit of 'minute' and return the number of seconds" do
18
+ 60 == 1.minute
19
+ end
20
20
  end
21
21
 
22
- it "should take the unit of 'minutes' ( plural ) with the amount of 1 and return 60" do
23
- 60 == 1.minutes
22
+ context ".minutes" do
23
+ it "should take the plural unit of 'minutes' and return the number of seconds" do
24
+ 300 == 5.minutes
25
+ end
24
26
  end
25
-
26
- it "should take the unit of 'minutes' with the amount of 5 and return 300" do
27
- 300 == 5.minutes
28
- end
29
- end
27
+ end
@@ -0,0 +1,50 @@
1
+ require File.dirname( __FILE__ ) + '/spec_helper.rb'
2
+ require 'lib/waitfor/settings/legacy_parser'
3
+
4
+ describe WaitFor::Settings::LegacyParser do
5
+ context ".parse" do
6
+ before do
7
+ @mock_legacy_parser = mock( WaitFor::Settings::LegacyParser )
8
+ @mock_config = mock( WaitFor::Settings::Configuration )
9
+
10
+ WaitFor::Settings::Configuration.stub!( :new ).and_return( @mock_config )
11
+ WaitFor::Settings::LegacyParser.stub!( :new ).and_return( @mock_legacy_parser )
12
+ end
13
+
14
+ it "should accept Fixnum and call the parse method then return a populated Configuration object" do
15
+ WaitFor::Settings::LegacyParser.should_receive( :new ).once.with( 0, @mock_config )
16
+ @mock_legacy_parser.should_receive( :parse ).once
17
+ @mock_legacy_parser.should_receive( :config ).once.and_return( @mock_config )
18
+
19
+ WaitFor::Settings::LegacyParser.parse( 0, @mock_config ).should == @mock_config
20
+ end
21
+ end
22
+
23
+ context "#parse" do
24
+ before do
25
+ @mock_config = mock( WaitFor::Settings::Configuration )
26
+ end
27
+
28
+ it "should call each of the private parse methods" do
29
+ @mock_config.should_receive( :exception= ).once.with( WaitFor::TimeoutError )
30
+
31
+ @legacy_parser = WaitFor::Settings::LegacyParser.new( 0, @mock_config )
32
+ @legacy_parser.should_receive( :parse_time ).once
33
+ @legacy_parser.parse
34
+ end
35
+ end
36
+
37
+ context "#parse_time" do
38
+ before do
39
+ @mock_config = mock( WaitFor::Settings::Configuration )
40
+ end
41
+
42
+ it "should accept Fixnum and set it to the Configuration object's seconds attribute" do
43
+ @mock_config.should_receive( :exception= ).once.with( WaitFor::TimeoutError )
44
+ @mock_config.should_receive( :seconds= ).once.with( 0 )
45
+
46
+ @legacy_parser = WaitFor::Settings::LegacyParser.new( 0, @mock_config )
47
+ @legacy_parser.send( :parse_time )
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,147 @@
1
+ require File.dirname( __FILE__ ) + '/spec_helper.rb'
2
+ require 'lib/waitfor/settings/legacy_parser'
3
+ require 'lib/waitfor/settings/parser'
4
+
5
+ describe WaitFor::Settings::Parser do
6
+ context ".parse" do
7
+ before do
8
+ @mock_parser = mock( WaitFor::Settings::Parser )
9
+ @mock_config = mock( WaitFor::Settings::Configuration )
10
+
11
+ WaitFor::Settings::Configuration.stub!( :new ).and_return( @mock_config )
12
+ WaitFor::Settings::Parser.stub!( :new ).and_return( @mock_parser )
13
+ end
14
+
15
+ it "should accept Hash and call the parse method then return a populated Configuration object" do
16
+ WaitFor::Settings::Parser.should_receive( :new ).once.with( { }, @mock_config )
17
+ @mock_parser.should_receive( :parse ).once
18
+ @mock_parser.should_receive( :config ).once.and_return( @mock_config )
19
+
20
+ WaitFor::Settings::Parser.parse( { }, @mock_config ).should == @mock_config
21
+ end
22
+ end
23
+
24
+ context "#parse" do
25
+ before do
26
+ @mock_config = mock( WaitFor::Settings::Configuration )
27
+ end
28
+
29
+ it "should call each of the private parse methods" do
30
+ @parser = WaitFor::Settings::Parser.new( { }, @mock_config )
31
+
32
+ @parser.should_receive( :parse_seconds ).once
33
+ @parser.should_receive( :parse_minutes ).once
34
+ @parser.should_receive( :parse_exception ).once
35
+ @parser.should_receive( :parse_message ).once
36
+
37
+ @parser.parse
38
+ end
39
+
40
+ it "should parse any combination of :second, :seconds, :minute or :minutes and combine them into seconds" do
41
+ @parser = WaitFor::Settings::Parser.new( { :second => 1, :seconds => 1, :minute => 1, :minutes => 1 }, @mock_config )
42
+
43
+ # Retrieve the existing number of seconds
44
+ # Should be 0 initially since this is first time we retrieve it
45
+ # Then should be 2 after that because we parsed seconds
46
+ @mock_config.should_receive( :seconds ).and_return( 0, 2 )
47
+
48
+ # We expect the parse_seconds method will attempt to set :seconds to 2
49
+ @mock_config.should_receive( :seconds= ).with( 2 )
50
+
51
+ # We expect the parse_minutes method will attempt to set :seconds to 122, which 2 minutes with the 2 seconds above added in
52
+ @mock_config.should_receive( :seconds= ).with( 122 )
53
+
54
+ # We expect the parse_exception method to set the default exception
55
+ @mock_config.should_receive( :exception= ).once.with( WaitFor::TimeoutError )
56
+
57
+ # We expect the parse_exception method to set the default message
58
+ @mock_config.should_receive( :message= ).once.with( "WaitFor timed out!" )
59
+
60
+ @parser.parse
61
+ end
62
+ end
63
+
64
+ context "#parse_seconds" do
65
+ before do
66
+ @mock_config = mock( WaitFor::Settings::Configuration )
67
+ end
68
+
69
+ it "should accept a hash containing :second or :seconds and set it to the setting object's seconds attribute" do
70
+ @parser = WaitFor::Settings::Parser.new( { :second => 1, :seconds => 1 }, @mock_config )
71
+ @mock_config.should_receive( :seconds ).once.and_return( 0 )
72
+ @mock_config.should_receive( :seconds= ).once.with( 2 )
73
+
74
+ @parser.send( :parse_seconds )
75
+ end
76
+
77
+ it "should set object's seconds attribute to 0 when hash does not contain :second or :seconds" do
78
+ @parser = WaitFor::Settings::Parser.new( { }, @mock_config )
79
+ @mock_config.should_receive( :seconds ).once.and_return( 0 )
80
+ @mock_config.should_receive( :seconds= ).once.with( 0 )
81
+
82
+ @parser.send( :parse_seconds )
83
+ end
84
+ end
85
+
86
+ context "#parse_minutes" do
87
+ before do
88
+ @mock_config = mock( WaitFor::Settings::Configuration )
89
+ end
90
+
91
+ it "should accept a hash containing :minute or :minutes and set it to the setting object's seconds attribute" do
92
+ @parser = WaitFor::Settings::Parser.new( { :minute => 1, :minutes => 1 }, @mock_config )
93
+ @mock_config.should_receive( :seconds ).once.and_return( 0 )
94
+ @mock_config.should_receive( :seconds= ).once.with( 120 )
95
+
96
+ @parser.send( :parse_minutes )
97
+ end
98
+
99
+ it "should set object's seconds attribute to 0 when hash does not contain :minute or :minutes" do
100
+ @parser = WaitFor::Settings::Parser.new( { }, @mock_config )
101
+ @mock_config.should_receive( :seconds ).once.and_return( 0 )
102
+ @mock_config.should_receive( :seconds= ).once.with( 0 )
103
+
104
+ @parser.send( :parse_minutes )
105
+ end
106
+ end
107
+
108
+ context "#parse_exception" do
109
+ before do
110
+ @mock_config = mock( WaitFor::Settings::Configuration )
111
+ end
112
+
113
+ it "should accept a hash containing :exception and set it to the setting object's exception attribute" do
114
+ @parser = WaitFor::Settings::Parser.new( { :exception => WaitFor::TimeoutError }, @mock_config )
115
+ @mock_config.should_receive( :exception= ).once.with( WaitFor::TimeoutError )
116
+
117
+ @parser.send( :parse_exception )
118
+ end
119
+
120
+ it "should set object's exception attribute to WaitFor::TimeoutError when hash does not contain :exception" do
121
+ @parser = WaitFor::Settings::Parser.new( { }, @mock_config )
122
+ @mock_config.should_receive( :exception= ).once.with( WaitFor::TimeoutError )
123
+
124
+ @parser.send( :parse_exception )
125
+ end
126
+ end
127
+
128
+ context "#parse_message" do
129
+ before do
130
+ @mock_config = mock( WaitFor::Settings::Configuration )
131
+ end
132
+
133
+ it "should accept a hash containing :message and set it to the setting object's message attribute" do
134
+ @parser = WaitFor::Settings::Parser.new( { :message => "Message" }, @mock_config )
135
+ @mock_config.should_receive( :message= ).once.with( "Message" )
136
+
137
+ @parser.send( :parse_message )
138
+ end
139
+
140
+ it "should set object's message attribute to the default error message when hash does not contain :message" do
141
+ @parser = WaitFor::Settings::Parser.new( { }, @mock_config )
142
+ @mock_config.should_receive( :message= ).once.with( "WaitFor timed out!" )
143
+
144
+ @parser.send( :parse_message )
145
+ end
146
+ end
147
+ end
@@ -1 +1,3 @@
1
- --colour
1
+ --colour
2
+ --format profile
3
+ --timeout 5
@@ -10,30 +10,23 @@ $:.unshift( File.dirname( __FILE__ ) + '/../lib' )
10
10
  require File.dirname( __FILE__ ) + '/../lib/waitfor.rb'
11
11
  require File.dirname( __FILE__ ) + '/../lib/waitfor/fixnum.rb'
12
12
  require File.dirname( __FILE__ ) + '/../lib/waitfor/timer.rb'
13
- require File.dirname( __FILE__ ) + '/../lib/waitfor/waitfor_timeout_error.rb'
13
+ require File.dirname( __FILE__ ) + '/../lib/waitfor/timeout_error.rb'
14
14
 
15
- def timer
16
- start_time = Time.now
17
- yield
18
- Time.now - start_time
19
- end
15
+ NOW = Time.mktime( 1970, 01, 01, 00, 00, 00 )
20
16
 
21
17
  class CustomTestError < RuntimeError
22
18
 
23
19
  end
24
20
 
25
21
  class ToggleBetweenFalseAndTrue
26
- def initialize
27
- @status = false
22
+ @@status = true
23
+
24
+ def self.reset_status
25
+ @@status = true
28
26
  end
29
27
 
30
- def status
31
- if @status
32
- @status = false
33
- true
34
- else
35
- @status = true
36
- false
37
- end
28
+ def self.status?
29
+ @@status = ( not @@status )
30
+ @@status
38
31
  end
39
32
  end
@@ -1,30 +1,20 @@
1
1
  require File.dirname(__FILE__) + '/spec_helper.rb'
2
2
 
3
- describe "timer method" do
4
- it "should report an elapsed time of at least 1 second but not more than 2 seconds for the code 'sleep 1'" do
5
- elapsed_time = timer {
6
- sleep 1
7
- }
8
-
9
- elapsed_time.should be > 1
10
- elapsed_time.should be < 2
11
- end
12
- end
13
-
14
3
  describe CustomTestError do
15
4
  it "should be of a kind of RuntimeError" do
16
- exception = CustomTestError.new
17
- exception.should be_a_kind_of( RuntimeError )
5
+ CustomTestError.new.should be_a_kind_of( RuntimeError )
18
6
  end
19
7
  end
20
8
 
21
9
  describe ToggleBetweenFalseAndTrue do
22
- it "should have a status method that returns false then true then false then true" do
23
- event = ToggleBetweenFalseAndTrue.new
10
+ before do
11
+ ToggleBetweenFalseAndTrue.reset_status
12
+ end
24
13
 
25
- event.status.should be( false )
26
- event.status.should be( true )
27
- event.status.should be( false )
28
- event.status.should be( true )
14
+ it "should have a status method that returns false then true then false then true" do
15
+ ToggleBetweenFalseAndTrue.status?.should be( false )
16
+ ToggleBetweenFalseAndTrue.status?.should be( true )
17
+ ToggleBetweenFalseAndTrue.status?.should be( false )
18
+ ToggleBetweenFalseAndTrue.status?.should be( true )
29
19
  end
30
20
  end
@@ -0,0 +1,10 @@
1
+ require File.dirname( __FILE__ ) + '/spec_helper.rb'
2
+
3
+ describe WaitFor::TimeoutError do
4
+ context ".new" do
5
+ it "should be of a kind of RuntimeError" do
6
+ exception = WaitFor::TimeoutError.new
7
+ exception.should be_a_kind_of( RuntimeError )
8
+ end
9
+ end
10
+ end
@@ -1,83 +1,110 @@
1
- require File.dirname(__FILE__) + '/spec_helper.rb'
1
+ require File.dirname( __FILE__ ) + '/spec_helper.rb'
2
2
 
3
- describe Timer, "when checking out_of_time?" do
4
- it "should return false when set for 5 seconds and queried immediately" do
5
- timer = Timer.new 5
6
- timer.out_of_time?.should be( false )
7
- end
3
+ describe WaitFor::Timer do
4
+ context ".new" do
5
+ before do
6
+ @mock_config = mock( WaitFor::Settings::Configuration )
7
+ WaitFor::Settings::Configuration.stub!( :new ).and_return( @mock_config )
8
+ end
8
9
 
9
- it "should raise a WaitFor::TimeoutError when set for 0 seconds and queried immediately" do
10
- timer = Timer.new 0.seconds
11
- lambda {
12
- timer.out_of_time?.should be( true )
13
- }.should raise_error( WaitFor::TimeoutError )
14
- end
15
- end
10
+ it "should accept a hash of options and return a new WaitFor::Timer object with the options hash passed to a new Configuration object" do
11
+ WaitFor::Settings::Configuration.should_receive( :new ).once.with( { } )
16
12
 
17
- describe Timer, "when inputting duration in to_seconds" do
18
- it "should accept a Fixnum value of 5 as 5 seconds" do
19
- Timer.to_seconds( 1 ).should be( 1 )
20
- end
13
+ new_timer = WaitFor::Timer.new( { } )
14
+ new_timer.instance_variable_get( :@config ).should == @mock_config
15
+ end
21
16
 
22
- it "should accept a simple time DSL using a singular value of '1.second' as 1 second" do
23
- Timer.to_seconds( 1.second ).should be( 1 )
24
- end
17
+ it "should return a new WaitFor::Timer object with the start_time attribute set to the current time" do
18
+ Time.should_receive( :now ).once.and_return( Time.at( 0 ) )
25
19
 
26
- it "should accept a simple time DSL using a plural value of '5.seconds' as 5 seconds" do
27
- Timer.to_seconds( 5.seconds ).should be( 5 )
20
+ new_timer = WaitFor::Timer.new( { } )
21
+ new_timer.instance_variable_get( :@start_time ).should == Time.at( 0 )
22
+ end
28
23
  end
29
24
 
30
- it "should accept a simple time DSL using a singular value of '1.minute' as 60 seconds" do
31
- Timer.to_seconds( 1.minute ).should be( 60 )
32
- end
25
+ context "#out_of_time?" do
26
+ before do
27
+ @new_timer = WaitFor::Timer.new( 0 )
28
+ end
33
29
 
34
- it "should accept a simple time DSL using a plural value of '5.minutes' as 300 seconds" do
35
- Timer.to_seconds( 5.minutes ).should be( 300 )
36
- end
30
+ it "should raise an exception if the elapsed time has passed" do
31
+ @new_timer.stub!( :timed_out? ).and_return true
32
+ lambda { @new_timer.out_of_time? }.should raise_error
33
+ end
37
34
 
38
- it "should accept a hash using a singular value of ':second => 1' as 1 second" do
39
- Timer.to_seconds( :second => 1 ).should be( 1 )
35
+ it "should return false if the elapsed time has not passed" do
36
+ @new_timer.stub!( :timed_out? ).and_return false
37
+ lambda { @new_timer.out_of_time? }.should_not raise_error
38
+ end
40
39
  end
41
40
 
42
- it "should accept a hash using a plural value of ':seconds => 5' as 5 seconds" do
43
- Timer.to_seconds( :seconds => 5 ).should be( 5 )
44
- end
41
+ context "#timed_out?" do
42
+ before do
43
+ @new_timer = WaitFor::Timer.new( 1 )
44
+ end
45
45
 
46
- it "should accept a hash using a singular value of ':minute => 1' as 60 seconds" do
47
- Timer.to_seconds( :minute => 1 ).should be( 60 )
48
- end
46
+ it "should return true if the elapsed time has passed is greater than or equal the limit" do
47
+ @new_timer.stub!( :elapsed_time ).and_return( 1 )
48
+ @new_timer.send( :timed_out? ).should be true
49
+ end
49
50
 
50
- it "should accept a hash using a plural value of ':minutes => 5' as 300 seconds" do
51
- Timer.to_seconds( :minutes => 5 ).should be( 300 )
51
+ it "should return false if the elapsed time has passed is less than the limit" do
52
+ @new_timer.stub!( :elapsed_time ).and_return( 0 )
53
+ @new_timer.send( :timed_out? ).should be false
54
+ end
52
55
  end
53
- end
54
56
 
55
- describe Timer, "when inputting custom errors" do
56
- it "should raise a CustomTestError when passed the value of ':exception => CustomTestError" do
57
- timer = Timer.new :seconds => 0, :exception => CustomTestError
58
- lambda {
59
- timer.out_of_time?.should be( true )
60
- }.should raise_error( CustomTestError )
61
- end
57
+ context "#elapsed_time" do
58
+ before do
59
+ Time.should_receive( :now ).twice.and_return( Time.at( 0 ), Time.at( 1 ) )
60
+ @new_timer = WaitFor::Timer.new( 1 )
61
+ end
62
62
 
63
- it "should raise a CustomTestError when passed the value of ':error => CustomTestError" do
64
- timer = Timer.new :seconds => 0, :error => CustomTestError
65
- lambda {
66
- timer.out_of_time?.should be( true )
67
- }.should raise_error( CustomTestError )
63
+ it "should return the elapsed time in seconds" do
64
+ @new_timer.send( :elapsed_time ).should == 1
65
+ end
68
66
  end
69
67
 
70
- it "should raise an error with the custom message 'Custom Error Message' when passed the value of ':message => 'Custom Error Message'" do
71
- timer = Timer.new :seconds => 0, :message => "Custom Error Message"
72
- lambda {
73
- timer.out_of_time?.should be( true )
74
- }.should raise_error( "Custom Error Message" )
75
- end
68
+ context "#raise_exception" do
69
+ before do
70
+ @new_timer = WaitFor::Timer.new( 0 )
71
+ end
72
+
73
+ it "should raise the default WaitFor exception" do
74
+ @mock_config = mock( WaitFor::Settings::Configuration )
75
+ @mock_config.should_receive( :exception ).once.and_return( WaitFor::TimeoutError )
76
+ @mock_config.should_receive( :message ).once.and_return( nil )
77
+ @new_timer.instance_variable_set( :@config, @mock_config )
78
+
79
+ lambda { @new_timer.send( :raise_exception ) }.should raise_error( WaitFor::TimeoutError, "WaitFor::TimeoutError" )
80
+ end
81
+
82
+ it "should raise the default WaitFor exception with the specified message" do
83
+ @mock_config = mock( WaitFor::Settings::Configuration )
84
+ @mock_config.should_receive( :exception ).once.and_return( WaitFor::TimeoutError )
85
+ @mock_config.should_receive( :message ).once.and_return( "Timeout Error!" )
86
+ @new_timer.instance_variable_set( :@config, @mock_config )
87
+
88
+ lambda { @new_timer.send( :raise_exception ) }.should raise_error( WaitFor::TimeoutError, "Timeout Error!" )
89
+ end
76
90
 
77
- it "should raise a CustomTestError with the custom message 'Custom Error Message' when passed the value of ':exception => CustomTestError' and ':message => 'Custom Error Message'" do
78
- timer = Timer.new :seconds => 0, :exception => CustomTestError, :message => "Custom Error Message"
79
- lambda {
80
- timer.out_of_time?.should be( true )
81
- }.should raise_error( CustomTestError, "Custom Error Message" )
91
+ it "should raise the specified exception" do
92
+ @mock_config = mock( WaitFor::Settings::Configuration )
93
+ @mock_config.should_receive( :exception ).once.and_return( CustomTestError )
94
+ @mock_config.should_receive( :message ).once.and_return( nil )
95
+ @new_timer.instance_variable_set( :@config, @mock_config )
96
+
97
+ lambda { @new_timer.send( :raise_exception ) }.should raise_error( CustomTestError, "CustomTestError" )
98
+ end
99
+
100
+
101
+ it "should raise the specified exception with the specified message" do
102
+ @mock_config = mock( WaitFor::Settings::Configuration )
103
+ @mock_config.should_receive( :exception ).once.and_return( CustomTestError )
104
+ @mock_config.should_receive( :message ).once.and_return( "Custom Test Error" )
105
+ @new_timer.instance_variable_set( :@config, @mock_config )
106
+
107
+ lambda { @new_timer.send( :raise_exception ) }.should raise_error( CustomTestError, "Custom Test Error" )
108
+ end
82
109
  end
83
- end
110
+ end