caricature 0.7.5 → 0.7.6

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.
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