Package org.junitext.manipulation

Source Code of org.junitext.manipulation.PrerequisiteFilterTest$APrereqTest

/*******************************************************************************
* Copyright (C) 2006-2007 Jochen Hiller and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License - v 1.0
* which accompanies this distribution, and is available at
* http://junitext.sourceforge.net/licenses/junitext-license.html
*
* Contributors:
*     Jochen Hiller - initial API and implementation
******************************************************************************/
package org.junitext.manipulation;

import static org.junit.Assert.assertEquals;

import org.junit.Ignore;
import org.junit.Test;
import org.junit.internal.runners.InitializationError;
import org.junit.runner.JUnitCore;
import org.junit.runner.Request;
import org.junit.runner.Result;
import org.junitext.Prerequisite;

/**
* Tests for the {@link PrerequisiteFilter} for JUnitExt.
*/
public class PrerequisiteFilterTest {

  public static class APrereqTest {
    @Test public void valid() {}
    @Prerequisite(requires = "isTrue") @Test public void willBeRun1() {}
    @Prerequisite(requires = "isFalse") @Test public void willNotBeRun1() {}
    @Prerequisite(requires = "isTrue", callee = APrereqTestHelper.class) @Test public void willBeRunViaHelper1() {}
    @Prerequisite(requires = "isFalse", callee = APrereqTestHelper.class) @Test public void willNotBeRunViaHelper1() {}
    public boolean isTrue() { return true; }
     public boolean isFalse() { return false; }
  }
 
  public static class APrereqTestHelper {
    public static boolean isTrue() { return true; }
     public static boolean isFalse() { return false; }
  }

  @Ignore ("TODO: does not work. Requires access to test instance object. Clarify with Kent Beck")
  @Test public void callWithFilter() throws InitializationError {
    JUnitCore core = new JUnitCore();
    Request req = Request.aClass(APrereqTest.class);
    Result result = core.run(req.filterWith(new PrerequisiteFilter()));
    // TODO: current result: 2, which is wrong, as instance call to isFalse() fails
    assertEquals(1+2, result.getRunCount());
    assertEquals(0, result.getFailureCount());
    // TODO: current result: 0, which is wrong, as filter can not raise a failure
    assertEquals(2, result.getIgnoreCount());   
  }

  public static void main(String... args) {
    JUnitCore.main(PrerequisiteFilterTest.class.getName());
  }
}
TOP

Related Classes of org.junitext.manipulation.PrerequisiteFilterTest$APrereqTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.