Package org.jmock.functional

Source Code of org.jmock.functional.AbstractMockTest

/* Copyright (c) 2000-2003, jMock.org. See bundled LICENSE.txt */
package org.jmock.functional;

import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
import org.jmock.Mock;

/**
* High level test of dynamic mock class.
*/
public abstract class AbstractMockTest extends TestCase {
    private MockTestActions actions;

    public abstract MockTestActions createActions();

    public void setUp() {
        actions = createActions();
    }

    public void testHasDefaultNameBasedOnMockedType() {
        Mock mock = new Mock(MockTestActions.class);
        assertEquals("Should have same name", "mockMockTestActions", mock.toString());
    }

    public void testCanBeExplicitlyNamed() {
        Mock otherMock = new Mock(MockTestActions.class, "otherMock");
        assertEquals("Should have same name", "otherMock", otherMock.toString());
    }

    public void testPassesIfMockedMethodCalled() {
        actions.expectNoParams();
        actions.callNoParams();
        actions.verifyMock();
    }

    public void testFailsIfMockedMethodCalledTwice() {
        actions.expectNoParams();
        actions.callNoParams();
        try {
            actions.callNoParams();
            fail("Should have throw exception");
        } catch (AssertionFailedError expected) {
            return;
        }
    }

    public void testFailsIfMockedMethodNotCalled() {
        actions.expectNoParams();

        try {
            actions.verifyMock();
        } catch (AssertionFailedError unused) {
            return;
        }
        fail("Should have thrown exception");
    }

    public void testFailsImmediatelyIfUnexpectedMethodCalled() {
        actions.expectNotNoParams();

        try {
            actions.callNoParams();
        } catch (AssertionFailedError unused) {
            return;
        }
        fail("Should have thrown exception");
    }

    public void testPassesIfMockedMethodCalledWithParameters() {
        actions.expectTwoParams();
        actions.callTwoParams();
        actions.verifyMock();
    }

    public void testInvocationFailsIfParameterValueIncorrect() {
        actions.expectTwoParams();

        try {
            actions.callIncorrectSecondParameter();
        } catch (AssertionFailedError unused) {
            return;
        }
        fail("Should have thrown exception");
    }

}
TOP

Related Classes of org.jmock.functional.AbstractMockTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.