1 package org.junit.tests.experimental.max; 2 3 import static org.junit.Assert.assertEquals; 4 5 import java.io.File; 6 import java.util.List; 7 8 import junit.framework.TestCase; 9 import org.junit.After; 10 import org.junit.Before; 11 import org.junit.Test; 12 import org.junit.experimental.max.MaxCore; 13 import org.junit.runner.Description; 14 import org.junit.runner.Request; 15 16 public class JUnit38SortingTest { 17 private MaxCore fMax; 18 private File fMaxFile; 19 20 @Before 21 public void createMax() { 22 fMaxFile = new File("MaxCore.ser"); 23 if (fMaxFile.exists()) { 24 fMaxFile.delete(); 25 } 26 fMax = MaxCore.storedLocally(fMaxFile); 27 } 28 29 @After 30 public void forgetMax() { 31 fMaxFile.delete(); 32 } 33 34 public static class JUnit4Test { 35 @Test 36 public void pass() { 37 } 38 } 39 40 public static class JUnit38Test extends TestCase { 41 public void testFails() { 42 fail(); 43 } 44 45 public void testSucceeds() { 46 } 47 48 public void testSucceedsToo() { 49 } 50 } 51 52 @Test 53 public void preferRecentlyFailed38Test() { 54 Request request = Request.classes(JUnit4Test.class, JUnit38Test.class); 55 fMax.run(request); 56 List<Description> tests = fMax.sortedLeavesForTest(request); 57 Description dontSucceed = Description.createTestDescription( 58 JUnit38Test.class, "testFails"); 59 assertEquals(dontSucceed, tests.get(0)); 60 } 61 62 }