class Mumukit::Assistant::Rule::TheseTestsFailed

Public Class Methods

new(message, tests) click to toggle source
Calls superclass method Mumukit::Assistant::Rule::Base::new
# File lib/mumukit/assistant/rule/these_tests_failed.rb, line 2
def initialize(message, tests)
  raise 'missing tests' if tests.blank?
  super(message)
  @tests = tests
end

Public Instance Methods

failed_tests(submission) click to toggle source
# File lib/mumukit/assistant/rule/these_tests_failed.rb, line 22
def failed_tests(submission)
  @failed_tests ||= submission.test_results.select { |it| it.indifferent_get(:status).failed? }
end
includes_failing_test?(title, submission) click to toggle source
# File lib/mumukit/assistant/rule/these_tests_failed.rb, line 18
def includes_failing_test?(title, submission)
  failed_tests(submission).map { |it| it.indifferent_get(:title).strip }.include?(title.strip)
end
matches?(submission) click to toggle source
# File lib/mumukit/assistant/rule/these_tests_failed.rb, line 8
def matches?(submission)
  super && matches_failing_tests?(submission)
end
matches_failing_tests?(submission) click to toggle source
# File lib/mumukit/assistant/rule/these_tests_failed.rb, line 12
def matches_failing_tests?(submission)
  @tests.all? do |it|
    includes_failing_test? it, submission
  end
end