Class: Mumukit::Assistant::Rule::TheseTestsFailed
- Inherits:
-
SubmissionFailed
- Object
- Base
- SubmissionFailed
- Mumukit::Assistant::Rule::TheseTestsFailed
- Defined in:
- lib/mumukit/assistant/rule/these_tests_failed.rb
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
- #failed_tests(submission) ⇒ Object
- #includes_failing_test?(title, submission) ⇒ Boolean
-
#initialize(message, tests) ⇒ TheseTestsFailed
constructor
A new instance of TheseTestsFailed.
- #matches?(submission) ⇒ Boolean
- #matches_failing_tests?(submission) ⇒ Boolean
Methods inherited from Base
Constructor Details
#initialize(message, tests) ⇒ TheseTestsFailed
Returns a new instance of TheseTestsFailed.
2 3 4 5 6 |
# File 'lib/mumukit/assistant/rule/these_tests_failed.rb', line 2 def initialize(, tests) raise 'missing tests' if tests.blank? super() @tests = tests end |
Instance Method Details
#failed_tests(submission) ⇒ Object
22 23 24 |
# File 'lib/mumukit/assistant/rule/these_tests_failed.rb', line 22 def failed_tests(submission) @failed_tests ||= submission.test_results.select { |it| it[:status].failed? } end |
#includes_failing_test?(title, submission) ⇒ Boolean
18 19 20 |
# File 'lib/mumukit/assistant/rule/these_tests_failed.rb', line 18 def includes_failing_test?(title, submission) failed_tests(submission).map { |it| it[:title].strip }.include?(title.strip) end |
#matches?(submission) ⇒ Boolean
8 9 10 |
# File 'lib/mumukit/assistant/rule/these_tests_failed.rb', line 8 def matches?(submission) super && matches_failing_tests?(submission) end |
#matches_failing_tests?(submission) ⇒ Boolean
12 13 14 15 16 |
# 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 |