Add CompositeExampleFilter

This commit is contained in:
Michael Miller 2019-03-25 11:10:27 -06:00
parent 481319c097
commit d1767ebb7a
4 changed files with 47 additions and 85 deletions

View file

@ -0,0 +1,13 @@
module Spectator
# Filter that combines multiple other filters.
class CompositeExampleFilter < ExampleFilter
# Creates the example filter.
def initialize(@filters : Array(ExampleFilter))
end
# Checks whether the example satisfies the filter.
def includes?(example)
@filters.any?(&.includes?(example))
end
end
end

View file

@ -34,6 +34,7 @@ require "./source_example_filter"
require "./line_example_filter"
require "./name_example_filter"
require "./null_example_filter"
require "./composite_example_filter"
require "./example_failed"
require "./expectation_failed"