View Javadoc
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  }