('Gamma', ['test_two']), ])]), # Case 5 - testcase name match AND tag match, different syntax ((filtering.Pattern('*:*:test_two') and filtering.Tags({'color': 'blue'})), [('XXX', [ ('Alpha', ['test_two']), ]), ('YYY', [ ('Gamma', ['test_two']), ])]), # Case 6 - Run tests that are: # named `test_one` AND tagged with `baz` # OR # belong to a suite named Alpha OR Beta AND tagged with `color`: `red` (filtering.Or( filtering.And(filtering.Pattern('*:*:test_one'), filtering.Tags('baz')), filtering.And(filtering.Pattern.any('*:Alpha:*', '*:Beta:*'), filtering.Tags({'color': 'red'}))), [ ('XXX', [ ('Alpha', ['test_three']), ('Beta', ['test_two']), ]), ('YYY', [ ('Gamma', ['test_one']), ]), ]), # Case 7, same as case 6, different syntax (((filtering.Pattern('*:*:test_one') & filtering.Tags('baz')) | (filtering.Pattern.any('*:Alpha:*', '*:Beta:*') & filtering.Tags({'color': 'red'}))), [ ('XXX', [
def test_or(self): filter_1 = AlphaFilter() | BetaFilter() filter_2 = filtering.Or(AlphaFilter(), BetaFilter()) assert filter_1 == filter_2
), [ ("XXX", [("Alpha", ["test_two"])]), ("YYY", [("Gamma", ["test_two"])]), ], ), # Case 6 - Run tests that are: # named `test_one` AND tagged with `baz` # OR # belong to a suite named Alpha OR Beta AND tagged with `color`: `red` ( filtering.Or( filtering.And( filtering.Pattern("*:*:test_one"), filtering.Tags("baz") ), filtering.And( filtering.Pattern.any("*:Alpha:*", "*:Beta:*"), filtering.Tags({"color": "red"}), ), ), [ ("XXX", [("Alpha", ["test_three"]), ("Beta", ["test_two"])]), ("YYY", [("Gamma", ["test_one"])]), ], ), # Case 7, same as case 6, different syntax ( ( (filtering.Pattern("*:*:test_one") & filtering.Tags("baz")) | ( filtering.Pattern.any("*:Alpha:*", "*:Beta:*")