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
Calls superclass method
Mumukit::Assistant::Rule::SubmissionFailed#matches?
# 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