Refactor matcher compiler on ignore expressions

This commit is contained in:
Markus Schirp 2015-07-11 19:51:06 +00:00
parent afe948c78a
commit bdf6765a0b
2 changed files with 6 additions and 10 deletions

View file

@ -40,15 +40,11 @@ module Mutant
#
# @api private
def ignored_subjects
rejectors = config.ignore_expressions.map(&SubjectPrefix.method(:new))
if rejectors.any?
Morpher::Evaluator::Predicate::Boolean::Negation.new(
Morpher::Evaluator::Predicate::Boolean::Or.new(rejectors)
Morpher::Evaluator::Predicate::Boolean::Negation.new(
Morpher::Evaluator::Predicate::Boolean::Or.new(
config.ignore_expressions.map(&SubjectPrefix.method(:new))
)
else
Morpher::Evaluator::Predicate::Tautology.new
end
)
end
# Matcher for expression on env

View file

@ -14,7 +14,7 @@ RSpec.describe Mutant::Matcher::Compiler do
end
let(:expected_predicate) do
Morpher.compile(s(:true))
Morpher.compile(s(:negate, s(:or)))
end
describe '.call' do
@ -41,7 +41,7 @@ RSpec.describe Mutant::Matcher::Compiler do
it { should eql(expected_matcher) }
end
context 'and a subject ignore' do
context 'and ignore epxressions' do
let(:attributes) do
{
match_expressions: [expression_a],