caricature 0.7.5 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/README.rdoc +97 -97
  2. data/Rakefile +309 -310
  3. data/caricature.gemspec +123 -110
  4. data/lib/caricature/bacon/integration.rb +75 -75
  5. data/lib/caricature/bacon.rb +2 -2
  6. data/lib/caricature/clr/descriptor.rb +159 -159
  7. data/lib/caricature/clr/event_verification.rb +56 -56
  8. data/lib/caricature/clr/expectation.rb +100 -100
  9. data/lib/caricature/clr/isolation.rb +78 -78
  10. data/lib/caricature/clr/isolator.rb +252 -252
  11. data/lib/caricature/clr/messenger.rb +51 -49
  12. data/lib/caricature/clr/method_call_recorder.rb +96 -96
  13. data/lib/caricature/expectation.rb +1 -1
  14. data/lib/caricature/method_call_recorder.rb +3 -3
  15. data/lib/caricature/rspec/integration.rb +118 -118
  16. data/lib/caricature/version.rb +5 -5
  17. data/lib/caricature.rb +25 -25
  18. data/spec/bacon/integration/callback_spec.rb +156 -156
  19. data/spec/bacon/integration/clr_to_clr_spec.rb +325 -253
  20. data/spec/bacon/integration/event_spec.rb +97 -97
  21. data/spec/bacon/integration/indexer_spec.rb +27 -27
  22. data/spec/bacon/spec_helper.rb +4 -4
  23. data/spec/bacon/unit/descriptor_spec.rb +212 -212
  24. data/spec/bacon/unit/sword_spec.rb +39 -39
  25. data/spec/bacon/unit/verification_spec.rb +103 -103
  26. data/spec/bin/ClrModels.dll +0 -0
  27. data/spec/bin/ClrModels.dll.mdb +0 -0
  28. data/spec/fixtures/ExplodingCar.cs +56 -0
  29. data/spec/fixtures/ExposedChangedSubscriber.cs +26 -0
  30. data/spec/fixtures/ExposingWarrior.cs +58 -0
  31. data/spec/fixtures/IExplodingWarrior.cs +10 -0
  32. data/spec/fixtures/IExposing.cs +9 -0
  33. data/spec/fixtures/IExposingBridge.cs +9 -0
  34. data/spec/fixtures/IExposingWarrior.cs +8 -0
  35. data/spec/fixtures/IHaveAnIndexer.cs +8 -0
  36. data/spec/fixtures/IWarrior.cs +13 -0
  37. data/spec/fixtures/IWeapon.cs +9 -0
  38. data/spec/fixtures/IndexerCaller.cs +17 -0
  39. data/spec/fixtures/IndexerContained.cs +20 -0
  40. data/spec/fixtures/MyClassWithAStatic.cs +16 -0
  41. data/spec/fixtures/Ninja.cs +34 -0
  42. data/spec/fixtures/Samurai.cs +29 -0
  43. data/spec/fixtures/StaticCaller.cs +12 -0
  44. data/spec/fixtures/Sword.cs +16 -0
  45. data/spec/fixtures/SwordWithStatics.cs +19 -0
  46. data/spec/fixtures/clr_interaction.rb +61 -0
  47. data/spec/fixtures/dagger.rb +11 -0
  48. data/spec/fixtures/dagger_with_class_members.rb +11 -0
  49. data/spec/fixtures/sheath.rb +19 -0
  50. data/spec/fixtures/soldier.rb +29 -0
  51. data/spec/fixtures/soldier_with_class_members.rb +7 -0
  52. data/spec/fixtures/swift_cleanup_crew.rb +21 -0
  53. data/spec/fixtures/with_class_methods.rb +11 -0
  54. data/spec/{models → models.notused}/ClrModels.cs +241 -241
  55. data/spec/{models → models.notused}/ruby_models.rb +150 -150
  56. data/spec/rspec/integration/callback_spec.rb +156 -156
  57. data/spec/rspec/integration/clr_to_clr_spec.rb +254 -254
  58. data/spec/rspec/integration/clr_to_ruby_spec.rb +227 -227
  59. data/spec/rspec/integration/indexer_spec.rb +27 -27
  60. data/spec/rspec/integration/ruby_to_ruby_spec.rb +271 -271
  61. data/spec/rspec/spec_helper.rb +12 -12
  62. data/spec/rspec/unit/core_ext_spec.rb +87 -87
  63. data/spec/rspec/unit/descriptor_spec.rb +210 -210
  64. data/spec/rspec/unit/event_spec.rb +16 -16
  65. data/spec/rspec/unit/expectation_spec.rb +300 -300
  66. data/spec/rspec/unit/interop_spec.rb +29 -29
  67. data/spec/rspec/unit/isolation_spec.rb +86 -86
  68. data/spec/rspec/unit/isolator_spec.rb +219 -219
  69. data/spec/rspec/unit/messaging_spec.rb +310 -310
  70. data/spec/rspec/unit/method_call_spec.rb +342 -342
  71. data/spec/rspec/unit/sword_spec.rb +39 -39
  72. data/spec/rspec/unit/verification_spec.rb +103 -103
  73. data/spec/spec_helper.rb +16 -15
  74. metadata +42 -11
@@ -1,50 +1,52 @@
1
- module Caricature
2
-
3
- # Encapsulates sending messages to CLR class or instance isolations
4
- class ClrClassMessenger < Messenger
5
-
6
- protected
7
-
8
- # deliver the message to the receiving isolation
9
- def internal_deliver(mode, method_name, return_type, *args, &b)
10
- exp = expectations.find(method_name, mode, *args)
11
- bl = record_call(method_name, mode, exp, *args, &b)
12
- is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type
13
- res = nil
14
- if exp
15
- block = exp.block || b
16
- res = instance.__send__(method_name, *args, &block) if exp.super_before?
17
- exp.event_recorder do |ev_nm, ev_ar, ev_h|
18
- recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
19
- end if recorder && exp
20
- res = exp.execute *args, &bl
21
- res = instance.__send__(method_name, *args, &block) if !exp.super_before? and exp.call_super?
22
- end
23
- res ||= System::Activator.create_instance(return_type) if is_value_type
24
- res
25
- end
26
-
27
- end
28
-
29
- # Encapsulates sending messages to CLR interface isolations
30
- class ClrInterfaceMessenger < Messenger
31
-
32
- protected
33
-
34
- # deliver the message to the receiving isolation
35
- def internal_deliver(mode, method_name, return_type, *args, &b)
36
- res = nil
37
- is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type
38
- exp = expectations.find(method_name, mode, *args)
39
- exp.event_recorder do |ev_nm, ev_ar, ev_h|
40
- recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
41
- end if recorder && exp
42
- bl = record_call(method_name, mode, exp, *args, &b)
43
- res = exp.execute *args, &bl if exp
44
- res ||= System::Activator.create_instance(return_type) if is_value_type
45
- res
46
- end
47
-
48
- end
49
-
1
+ module Caricature
2
+
3
+ # Encapsulates sending messages to CLR class or instance isolations
4
+ class ClrClassMessenger < Messenger
5
+
6
+ protected
7
+
8
+ # deliver the message to the receiving isolation
9
+ def internal_deliver(mode, method_name, return_type, *args, &b)
10
+ exp = expectations.find(method_name, mode, *args)
11
+ # exp = expectations.find(method_name.underscore, mode, *args) unless exp
12
+ bl = record_call(method_name, mode, exp, *args, &b)
13
+ is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type
14
+ res = nil
15
+ if exp
16
+ block = exp.block || b
17
+ res = instance.__send__(method_name, *args, &block) if exp.super_before?
18
+ exp.event_recorder do |ev_nm, ev_ar, ev_h|
19
+ recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
20
+ end if recorder && exp
21
+ res = exp.execute *args, &bl
22
+ res = instance.__send__(method_name, *args, &block) if !exp.super_before? and exp.call_super?
23
+ end
24
+ res ||= System::Activator.create_instance(return_type) if is_value_type
25
+ res
26
+ end
27
+
28
+ end
29
+
30
+ # Encapsulates sending messages to CLR interface isolations
31
+ class ClrInterfaceMessenger < Messenger
32
+
33
+ protected
34
+
35
+ # deliver the message to the receiving isolation
36
+ def internal_deliver(mode, method_name, return_type, *args, &b)
37
+ res = nil
38
+ is_value_type = return_type && return_type != System::Void.to_clr_type && return_type.is_value_type
39
+ exp = expectations.find(method_name, mode, *args)
40
+ # exp = expectations.find(method_name.underscore, mode, *args) unless exp
41
+ exp.event_recorder do |ev_nm, ev_ar, ev_h|
42
+ recorder.record_event_raise ev_nm, mode, *ev_ar, &ev_h if ev_nm
43
+ end if recorder && exp
44
+ bl = record_call(method_name, mode, exp, *args, &b)
45
+ res = exp.execute *args, &bl if exp
46
+ res ||= System::Activator.create_instance(return_type) if is_value_type
47
+ res
48
+ end
49
+
50
+ end
51
+
50
52
  end
@@ -1,97 +1,97 @@
1
- module Caricature
2
-
3
- # A recording that represents an event raise
4
- # it contains argument variations that can be matched too
5
- class EventRaiseRecording
6
-
7
- # gets or sets the event name
8
- attr_accessor :event_name
9
-
10
- # gets or sets the amount of times the event was raised
11
- attr_accessor :count
12
-
13
- # gets or sets the arguments for this event raise
14
- attr_accessor :args
15
-
16
- # gets or sets the block for this event raise
17
- attr_accessor :handler
18
-
19
- # Initializes a new instance of a method call recording
20
- # every time a method gets called in an isolated object
21
- # this gets stored in the method call recorder
22
- # It expects a +method_name+ at the very least.
23
- def initialize(event_name, count=0)
24
- @event_name = event_name
25
- @count = count
26
- @variations = []
27
- end
28
-
29
- # add args
30
- def args
31
- @variations
32
- end
33
-
34
- # indicates if it has an argument variation
35
- def has_argument_variations?
36
- @variations.size > 1
37
- end
38
-
39
- # add an argument variation
40
- def add_argument_variation(args, block)
41
- variation = find_argument_variations args
42
- if variation.empty?
43
- @variations << ArgumentRecording.new(args, @variations.size+1, block) if variation == []
44
- else
45
- variation.first.call_number += 1
46
- end
47
- end
48
-
49
- # finds an argument variation that matches the provided +args+
50
- def find_argument_variations(args)
51
- return @variations if args.first.is_a?(Symbol) and args.last == :any
52
- @variations.select { |ar| ar.args == args }
53
- end
54
-
55
- end
56
-
57
- class MethodCallRecorder
58
-
59
- def event_raises
60
- @event_raises ||= {}
61
- end
62
-
63
- def record_event_raise(event_name, mode, *args, &handler)
64
- en_sym = event_name.to_sym
65
- event_raises[mode] ||= {}
66
- ev = (event_raises[mode][en_sym] ||= EventRaiseRecording.new(event_name))
67
- ev.count += 1
68
- ev.add_argument_variation args, handler
69
- end
70
-
71
- def event_error
72
- @event_error
73
- end
74
-
75
- # returns whether the event was actually raised with the specified constraints
76
- def event_raised?(event_name, mode = :instance, *args)
77
- mc = event_raises[mode][event_name.to_s.to_sym]
78
- if mc
79
- vari = mc.find_argument_variations(args)
80
- result = vari.any? { |agv| agv == args }
81
- return result if result
82
- if args.size == 1 and args.last.is_a?(Hash)
83
- result = vari.any? do |agv|
84
- agv.args.last.is_a?(Hash) and args.last.all? { |k, v| agv.args.last[k] == v }
85
- end
86
- end
87
- @event_error = "Event Arguments don't match for #{event_name}.\n\nYou expected:\n#{args.join(", ")}.\n\nI did find the following variations:\n#{mc.args.collect {|ar| ar.args.join(', ') }.join(' and ')}" unless result
88
- result
89
- else
90
- @event_error = "Couldn't find an event with name #{event_name}"
91
- return !!mc
92
- end
93
- end
94
-
95
- end
96
-
1
+ module Caricature
2
+
3
+ # A recording that represents an event raise
4
+ # it contains argument variations that can be matched too
5
+ class EventRaiseRecording
6
+
7
+ # gets or sets the event name
8
+ attr_accessor :event_name
9
+
10
+ # gets or sets the amount of times the event was raised
11
+ attr_accessor :count
12
+
13
+ # gets or sets the arguments for this event raise
14
+ attr_accessor :args
15
+
16
+ # gets or sets the block for this event raise
17
+ attr_accessor :handler
18
+
19
+ # Initializes a new instance of a method call recording
20
+ # every time a method gets called in an isolated object
21
+ # this gets stored in the method call recorder
22
+ # It expects a +method_name+ at the very least.
23
+ def initialize(event_name, count=0)
24
+ @event_name = event_name
25
+ @count = count
26
+ @variations = []
27
+ end
28
+
29
+ # add args
30
+ def args
31
+ @variations
32
+ end
33
+
34
+ # indicates if it has an argument variation
35
+ def has_argument_variations?
36
+ @variations.size > 1
37
+ end
38
+
39
+ # add an argument variation
40
+ def add_argument_variation(args, block)
41
+ variation = find_argument_variations args
42
+ if variation.empty?
43
+ @variations << ArgumentRecording.new(args, @variations.size+1, block) if variation == []
44
+ else
45
+ variation.first.call_number += 1
46
+ end
47
+ end
48
+
49
+ # finds an argument variation that matches the provided +args+
50
+ def find_argument_variations(args)
51
+ return @variations if args.first.is_a?(Symbol) and args.last == :any
52
+ @variations.select { |ar| ar.args == args }
53
+ end
54
+
55
+ end
56
+
57
+ class MethodCallRecorder
58
+
59
+ def event_raises
60
+ @event_raises ||= {}
61
+ end
62
+
63
+ def record_event_raise(event_name, mode, *args, &handler)
64
+ en_sym = event_name.to_sym
65
+ event_raises[mode] ||= {}
66
+ ev = (event_raises[mode][en_sym] ||= EventRaiseRecording.new(event_name))
67
+ ev.count += 1
68
+ ev.add_argument_variation args, handler
69
+ end
70
+
71
+ def event_error
72
+ @event_error
73
+ end
74
+
75
+ # returns whether the event was actually raised with the specified constraints
76
+ def event_raised?(event_name, mode = :instance, *args)
77
+ mc = event_raises[mode][event_name.to_s.to_sym]
78
+ if mc
79
+ vari = mc.find_argument_variations(args)
80
+ result = vari.any? { |agv| agv == args }
81
+ return result if result
82
+ if args.size == 1 and args.last.is_a?(Hash)
83
+ result = vari.any? do |agv|
84
+ agv.args.last.is_a?(Hash) and args.last.all? { |k, v| agv.args.last[k] == v }
85
+ end
86
+ end
87
+ @event_error = "Event Arguments don't match for #{event_name}.\n\nYou expected:\n#{args.join(", ")}.\n\nI did find the following variations:\n#{mc.args.collect {|ar| ar.args.join(', ') }.join(' and ')}" unless result
88
+ result
89
+ else
90
+ @event_error = "Couldn't find an event with name #{event_name}"
91
+ return !!mc
92
+ end
93
+ end
94
+
95
+ end
96
+
97
97
  end
@@ -24,7 +24,7 @@ module Caricature
24
24
  def find(method_name, mode=:instance, *args)
25
25
  expectations = mode == :class ? @class_expectations : @instance_expectations
26
26
 
27
- candidates = expectations.select { |exp| exp.method_name.to_s.to_sym == method_name.to_s.to_sym }
27
+ candidates = expectations.select { |exp| exp.method_name.to_s.underscore =~ /#{method_name}|#{method_name.to_s.underscore}/ }
28
28
  with_arguments_candidates = candidates.select { |exp| exp.args == args }
29
29
 
30
30
  with_arguments_candidates.first || candidates.select { |exp| exp.any_args? }.first
@@ -169,8 +169,8 @@ module Caricature
169
169
 
170
170
  # records a method call or increments the count of how many times this method was called.
171
171
  def record_call(method_name, mode=:instance, expectation=nil, *args, &block)
172
- mn_sym = method_name.to_s.to_sym
173
- method_calls[mode][mn_sym] ||= MethodCallRecording.new method_name
172
+ mn_sym = method_name.to_s.underscore.to_sym
173
+ method_calls[mode][mn_sym] ||= MethodCallRecording.new mn_sym.to_s
174
174
  mc = method_calls[mode][mn_sym]
175
175
  mc.count += 1
176
176
  agc = mc.add_argument_variation args, block
@@ -196,7 +196,7 @@ module Caricature
196
196
 
197
197
  # returns whether the method was actually called with the specified constraints
198
198
  def was_called?(method_name, block_args, mode=:instance, *args)
199
- mc = method_calls[mode][method_name.to_s.to_sym]
199
+ mc = method_calls[mode][method_name.to_s.underscore.to_sym]
200
200
  if mc
201
201
  vari = mc.find_argument_variations(args, block_args)
202
202
  result = vari.any? { |agv| agv == args }
@@ -1,118 +1,118 @@
1
- module Caricature
2
- module RSpecAdapter
3
-
4
- def setup_mocks_for_rspec
5
- # No setup required
6
- end
7
-
8
- def verify_mocks_for_rspec
9
- end
10
-
11
- def teardown_mocks_for_rspec
12
- end
13
- end
14
-
15
- module RSpecMatchers
16
-
17
- class HaveReceived
18
- def initialize(expected)
19
- @expected = expected
20
- @block_args, @error, @args = nil, "", [:any]
21
- end
22
-
23
- def matches?(target)
24
- @target = target
25
-
26
- veri = @target.did_receive?(@expected).with(*@args)
27
- veri.with_block_args(*@block_args) if @block_args
28
- result = veri.successful?
29
-
30
- @error = "\n#{veri.error}" unless result
31
-
32
- result
33
- end
34
-
35
- def failure_message_for_should
36
- "expected #{@target.inspect} to have received #{@expected}" + @error
37
- end
38
-
39
- def failure_message_for_should_not
40
- "expected #{@target.inspect} not to have received #{@expected}" + @error
41
- end
42
-
43
- # constrain this verification to the provided arguments
44
- def with(*args)
45
- ags = *args
46
- @args = args
47
- @args = [:any] if (args.first.is_a?(Symbol) and args.first == :any) || ags.nil?
48
- # @callback = b if b
49
- self
50
- end
51
-
52
- def with_block_args(*args)
53
- @block_args = args
54
- self
55
- end
56
-
57
- # allow any arguments ignore the argument constraint
58
- def allow_any_arguments
59
- @args = :any
60
- self
61
- end
62
- end
63
-
64
- class HaveRaised
65
- def initialize(expected)
66
- @expected = expected
67
- @block_args, @error, @args = nil, "", [:any]
68
- end
69
-
70
- def matches?(target)
71
- @target = target
72
-
73
- veri = @target.did_raise_event?(@expected).with(*@args)
74
- result = veri.successful?
75
-
76
- @error = "\n#{veri.error}" unless result
77
-
78
- result
79
- end
80
-
81
- def failure_message_for_should
82
- "expected #{@target.inspect} to have received #{@expected}" + @error
83
- end
84
-
85
- def failure_message_for_should_not
86
- "expected #{@target.inspect} not to have received #{@expected}" + @error
87
- end
88
-
89
- # constrain this verification to the provided arguments
90
- def with(*args)
91
- ags = *args
92
- @args = args
93
- @args = [:any] if (args.first.is_a?(Symbol) and args.first == :any) || ags.nil?
94
- # @callback = b if b
95
- self
96
- end
97
-
98
- # allow any arguments ignore the argument constraint
99
- def allow_any_arguments
100
- @args = :any
101
- self
102
- end
103
- end
104
-
105
- def have_received(method_name, *args)
106
- HaveReceived.new(method_name).with(*args)
107
- end
108
-
109
- def have_raised(event_name, *args)
110
- HaveRaised.new(event_name).with(*args)
111
- end
112
- end
113
- end
114
-
115
- #Spec::Runner.configure do |config|
116
- # config.mock_with Caricature::RSpecAdapter
117
- # config.include Caricature::RSpecMatchers
118
- #end
1
+ module Caricature
2
+ module RSpecAdapter
3
+
4
+ def setup_mocks_for_rspec
5
+ # No setup required
6
+ end
7
+
8
+ def verify_mocks_for_rspec
9
+ end
10
+
11
+ def teardown_mocks_for_rspec
12
+ end
13
+ end
14
+
15
+ module RSpecMatchers
16
+
17
+ class HaveReceived
18
+ def initialize(expected)
19
+ @expected = expected
20
+ @block_args, @error, @args = nil, "", [:any]
21
+ end
22
+
23
+ def matches?(target)
24
+ @target = target
25
+
26
+ veri = @target.did_receive?(@expected).with(*@args)
27
+ veri.with_block_args(*@block_args) if @block_args
28
+ result = veri.successful?
29
+
30
+ @error = "\n#{veri.error}" unless result
31
+
32
+ result
33
+ end
34
+
35
+ def failure_message_for_should
36
+ "expected #{@target.inspect} to have received #{@expected}" + @error
37
+ end
38
+
39
+ def failure_message_for_should_not
40
+ "expected #{@target.inspect} not to have received #{@expected}" + @error
41
+ end
42
+
43
+ # constrain this verification to the provided arguments
44
+ def with(*args)
45
+ ags = *args
46
+ @args = args
47
+ @args = [:any] if (args.first.is_a?(Symbol) and args.first == :any) || ags.nil?
48
+ # @callback = b if b
49
+ self
50
+ end
51
+
52
+ def with_block_args(*args)
53
+ @block_args = args
54
+ self
55
+ end
56
+
57
+ # allow any arguments ignore the argument constraint
58
+ def allow_any_arguments
59
+ @args = :any
60
+ self
61
+ end
62
+ end
63
+
64
+ class HaveRaised
65
+ def initialize(expected)
66
+ @expected = expected
67
+ @block_args, @error, @args = nil, "", [:any]
68
+ end
69
+
70
+ def matches?(target)
71
+ @target = target
72
+
73
+ veri = @target.did_raise_event?(@expected).with(*@args)
74
+ result = veri.successful?
75
+
76
+ @error = "\n#{veri.error}" unless result
77
+
78
+ result
79
+ end
80
+
81
+ def failure_message_for_should
82
+ "expected #{@target.inspect} to have received #{@expected}" + @error
83
+ end
84
+
85
+ def failure_message_for_should_not
86
+ "expected #{@target.inspect} not to have received #{@expected}" + @error
87
+ end
88
+
89
+ # constrain this verification to the provided arguments
90
+ def with(*args)
91
+ ags = *args
92
+ @args = args
93
+ @args = [:any] if (args.first.is_a?(Symbol) and args.first == :any) || ags.nil?
94
+ # @callback = b if b
95
+ self
96
+ end
97
+
98
+ # allow any arguments ignore the argument constraint
99
+ def allow_any_arguments
100
+ @args = :any
101
+ self
102
+ end
103
+ end
104
+
105
+ def have_received(method_name, *args)
106
+ HaveReceived.new(method_name).with(*args)
107
+ end
108
+
109
+ def have_raised(event_name, *args)
110
+ HaveRaised.new(event_name).with(*args)
111
+ end
112
+ end
113
+ end
114
+
115
+ #Spec::Runner.configure do |config|
116
+ # config.mock_with Caricature::RSpecAdapter
117
+ # config.include Caricature::RSpecMatchers
118
+ #end
@@ -1,6 +1,6 @@
1
- module Caricature
2
-
3
- # The version number of the +Caricature+ library
4
- VERSION = '0.7.5'
5
-
1
+ module Caricature
2
+
3
+ # The version number of the +Caricature+ library
4
+ VERSION = '0.7.6'
5
+
6
6
  end
data/lib/caricature.rb CHANGED
@@ -1,25 +1,25 @@
1
- require 'rubygems' unless defined?(Gem)
2
- $:.unshift File.dirname(__FILE__)
3
- require 'uuidtools'
4
-
5
- module Caricature
6
- #
7
- # module Interception
8
- #
9
- # end
10
- #
11
- end
12
-
13
- require 'caricature/core_ext'
14
- require 'caricature/version'
15
- require 'caricature/isolation'
16
- require 'caricature/clr' if defined? IRONRUBY_VERSION
17
- require 'caricature/bacon' if defined? Bacon
18
- require 'caricature/rspec' if defined? Spec
19
-
20
- # convenience method for creating an isolation. aliased as mock and stub for less surprises
21
- def isolate(subject, recorder = Caricature::MethodCallRecorder.new, expectations = Caricature::Expectations.new)
22
- Caricature::Isolation.for(subject, recorder, expectations)
23
- end
24
- alias :mock :isolate
25
- alias :stub :isolate
1
+ require 'rubygems' unless defined?(Gem)
2
+ $:.unshift File.dirname(__FILE__)
3
+ require 'uuidtools'
4
+
5
+ module Caricature
6
+ #
7
+ # module Interception
8
+ #
9
+ # end
10
+ #
11
+ end
12
+
13
+ require 'caricature/core_ext'
14
+ require 'caricature/version'
15
+ require 'caricature/isolation'
16
+ require 'caricature/clr' if defined? IRONRUBY_VERSION
17
+ require 'caricature/bacon' if defined? Bacon
18
+ require 'caricature/rspec' if defined? Spec
19
+
20
+ # convenience method for creating an isolation. aliased as mock and stub for less surprises
21
+ def isolate(subject, recorder = Caricature::MethodCallRecorder.new, expectations = Caricature::Expectations.new)
22
+ Caricature::Isolation.for(subject, recorder, expectations)
23
+ end
24
+ alias :mock :isolate
25
+ alias :stub :isolate