1 package org.junit.tests.manipulation; 2 3 import static org.junit.Assert.assertEquals; 4 import static org.junit.Assert.assertSame; 5 6 import org.junit.Test; 7 import org.junit.runner.Description; 8 import org.junit.runner.manipulation.Filter; 9 10 public class FilterTest { 11 public static class NamedFilter extends Filter { 12 private final String fName; 13 14 public NamedFilter(String name) { 15 fName = name; 16 } 17 18 @Override 19 public boolean shouldRun(Description description) { 20 return false; 21 } 22 23 @Override 24 public String describe() { 25 return fName; 26 } 27 } 28 29 @Test 30 public void intersectionText() { 31 NamedFilter a = new NamedFilter("a"); 32 NamedFilter b = new NamedFilter("b"); 33 assertEquals("a and b", a.intersect(b).describe()); 34 assertEquals("b and a", b.intersect(a).describe()); 35 } 36 37 @Test 38 public void intersectSelf() { 39 NamedFilter a = new NamedFilter("a"); 40 assertSame(a, a.intersect(a)); 41 } 42 43 @Test 44 public void intersectAll() { 45 NamedFilter a = new NamedFilter("a"); 46 assertSame(a, a.intersect(Filter.ALL)); 47 assertSame(a, Filter.ALL.intersect(a)); 48 assertSame(Filter.ALL, Filter.ALL.intersect(Filter.ALL)); 49 } 50 }