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

    public MainClass(String name) {
        super(name);
    }

    public void testPassNullsToConstructor() {
        try {
            Person p = new Person(null, null);
            fail("Expected IllegalArgumentException because both args are null");
        } catch (IllegalArgumentException expected) {
        }
    }

    public void testNullsInName() {
        fail("sample failure");
        Person p = new Person(null, "lastName");
        assertEquals("lastName", p.getFullName());

        p = new Person("Tanner", null);
        assertEquals("Tanner ?", p.getFullName());
    }

    public static void oneTimeSetup() {
        System.out.println("oneTimeSetUp");
    }

    public static void oneTimeTearDown() {
        System.out.println("oneTimeTearDown");
    }

    public static Test suite() {
        TestSetup setup = new TestSetup(new TestSuite(MainClass.class)) {
            protected void setUp() throws Exception {
                oneTimeSetup();
            }

            protected void tearDown() throws Exception {
                oneTimeTearDown();
            }
        };
        return setup;
    }
}

class Person {
    private String firstName;

    private String lastName;

    public Person(String firstName, String lastName) {
        if (firstName == null && lastName == null) {
            throw new IllegalArgumentException("Both names cannot be null");
        }
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public String getFullName() {
        String first = (this.firstName != null) ? this.firstName : "?";
        String last = (this.lastName != null) ? this.lastName : "?";

        return first + " " + last;
    }

    public String getFirstName() {
        return this.firstName;
    }

    public String getLastName() {
        return this.lastName;
    }
}