Java tutorial
import junit.extensions.TestSetup; import junit.framework.Test; import junit.framework.TestCase; import junit.framework.TestSuite; public class MainClass extends TestCase { public static void main(String... args) { junit.textui.TestRunner.run(suite()); } private static TSP tsp; public MainClass(String method) { super(method); } // This one takes a few hours... public void testLongRunner() { assertEquals(2300, tsp.shortestPath(50)); } public void testShortTest() { assertEquals(140, tsp.shortestPath(5)); } public void testAnotherShortTest() { assertEquals(586, tsp.shortestPath(10)); } public static Test suite() { TestSuite suite = new TestSuite(); // Only include short tests suite.addTest(new MainClass("testShortTest")); suite.addTest(new MainClass("testAnotherShortTest")); TestSetup wrapper = new TestSetup(suite) { protected void setUp() { oneTimeSetUp(); } protected void tearDown() { oneTimeTearDown(); } }; return wrapper; } public static void oneTimeSetUp() { System.out.println("oneTimeSetUp()"); // one-time initialization code goes here... tsp = new TSP(); tsp.loadCities("EasternSeaboard"); } public static void oneTimeTearDown() { // one-time cleanup code goes here... tsp.releaseCities(); } } class TSP { public int shortestPath(int numCities) { switch (numCities) { case 50: return 2300; case 5: return 140; case 10: return 586; } return 0; } public void loadCities(String name) { } public void releaseCities() { } }