Class: Suture::AdministersTest

Inherits:
Object
  • Object
show all
Defined in:
lib/suture/verify/administers_test.rb

Instance Method Summary collapse

Constructor Details

#initializeAdministersTest

Returns a new instance of AdministersTest.



7
8
9
# File 'lib/suture/verify/administers_test.rb', line 7

def initialize
  @scalpel = Util::Scalpel.new
end

Instance Method Details

#administer(test_plan, observation) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/suture/verify/administers_test.rb', line 11

def administer(test_plan, observation)
  compares_results = Util::ComparesResults.new(test_plan.comparator)
  begin
    result = Value::Result.returned(@scalpel.cut(test_plan, :subject, observation.args))
    {
      :new_result => result,
      :passed => compares_results.compare(observation.result, result)
    }
  rescue StandardError => error
    if observation.result.errored?
      result = Value::Result.errored(error)
      {
        :new_result => result,
        :passed => compares_results.compare(observation.result, result)
      }
    else
      { :error => error, :passed => false }
    end
  end
end