1 // Copyright 2014 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 package org.chromium.testing.local; 6 7 import org.junit.Assert; 8 import org.junit.Test; 9 import org.junit.runner.Description; 10 import org.junit.runner.RunWith; 11 import org.junit.runner.manipulation.Filter; 12 import org.junit.runners.BlockJUnit4ClassRunner; 13 import org.junit.runners.Suite; 14 15 /** 16 * Unit tests for RunnerFilter. 17 */ 18 @RunWith(BlockJUnit4ClassRunner.class) 19 public class RunnerFilterTest { 20 21 private class FakeTestClass {} 22 23 @Test testDescription()24 public void testDescription() { 25 Filter filterUnderTest = new RunnerFilter(BlockJUnit4ClassRunner.class); 26 Assert.assertEquals("runner-filter: org.junit.runners.BlockJUnit4ClassRunner", 27 filterUnderTest.describe()); 28 } 29 30 @Test testNoFilter()31 public void testNoFilter() { 32 Filter filterUnderTest = new RunnerFilter(null); 33 Assert.assertFalse(filterUnderTest.shouldRun( 34 Description.createTestDescription(RunnerFilterTest.class, "testNoFilter"))); 35 } 36 37 @Test testFilterHit()38 public void testFilterHit() { 39 Filter filterUnderTest = new RunnerFilter(BlockJUnit4ClassRunner.class); 40 Assert.assertTrue(filterUnderTest.shouldRun( 41 Description.createTestDescription(RunnerFilterTest.class, "testFilterHit"))); 42 } 43 44 @Test testFilterMiss()45 public void testFilterMiss() { 46 Filter filterUnderTest = new RunnerFilter(Suite.class); 47 Assert.assertFalse(filterUnderTest.shouldRun( 48 Description.createTestDescription(RunnerFilterTest.class, "testFilterMiss"))); 49 } 50 51 @Test testClassNotFound()52 public void testClassNotFound() { 53 Filter filterUnderTest = new RunnerFilter(BlockJUnit4ClassRunner.class); 54 Assert.assertFalse(filterUnderTest.shouldRun( 55 Description.createTestDescription(FakeTestClass.class, "fakeTestMethod"))); 56 } 57 } 58 59