Method: Whitestone::Assertion::Custom::CustomTestContext#initialize

Defined in:
lib/whitestone/custom_assertions.rb

#initialize(parameters, values) ⇒ CustomTestContext

Example:

parameters: [ [:circle, Circle], [:values, Array] ],
    values: [ circle_object, [4,1,5,:X] ]

Result of calling method:

def circle() circle_object end
def values() [4,1,5,:X]    end

Effect:

  • code run in this context (i.e. with this object as ‘self’) can access the methods ‘circle’ and ‘values’, as well as the method ‘test’.



227
228
229
230
231
232
233
234
235
# File 'lib/whitestone/custom_assertions.rb', line 227

def initialize(parameters, values)
  parameters = parameters.map { |name, type| name }
  parameters.zip(values).each do |param, value|
    metaclass = class << self; self; end
    metaclass.module_eval do
      define_method(param) { value }
    end
  end
end