class Tryouts::TestBatch

def evaluate_expectations(test_case, actual_result, context)

Evaluate expectations using pattern matching for clean result handling
def evaluate_expectations(test_case, actual_result, context)
  if test_case.expectations.empty?
    { passed: true, actual_results: [], expected_results: [] }
  else
    evaluation_results = test_case.expectations.map do |expectation|
      evaluate_single_expectation(expectation, actual_result, context, test_case)
    end
    {
      passed: evaluation_results.all? { |r| r[:passed] },
      actual_results: evaluation_results.map { |r| r[:actual] },
      expected_results: evaluation_results.map { |r| r[:expected] },
    }
  end
end