MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

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() {
    }

}