class Tryouts::TestBatch

def execute_with_fresh_context(test_case)

Fresh context execution - setup runs per test, isolated state
def execute_with_fresh_context(test_case)
  fresh_container = Object.new
  # Execute setup in fresh context if present
  setup = @testrun.setup
  if setup && !setup.code.empty?
    fresh_container.instance_eval(setup.code, setup.path, 1)
  end
  # Execute test in same fresh context
  code  = test_case.code
  path  = test_case.path
  range = test_case.line_range
  result_value        = fresh_container.instance_eval(code, path, range.first + 1)
  expectations_result = evaluate_expectations(test_case, result_value, fresh_container)
  build_test_result(test_case, result_value, expectations_result)
rescue StandardError => ex
  build_error_result(test_case, ex.message, ex)
end