Package org.jmock.expectation

Source Code of org.jmock.expectation.AbstractTestExpectationCollection

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

import junit.framework.AssertionFailedError;
import org.jmock.AbstractTestCase;

import java.util.Vector;

public abstract class AbstractTestExpectationCollection extends AbstractTestCase {
    ExpectationCollection myExpectation;

    public void testEmpty() {
        myExpectation.verify();
    }

    public void testFailImmediately() {
        myExpectation.addExpected("A");
        myExpectation.addExpected("B");

        myExpectation.addActual("A");
        try {
            myExpectation.addActual("C");
        } catch (AssertionFailedError ex) {
            return;
        }
        fail("Should have failed immediately");
    }

    public void testFailImmediatelyAddingTooMany() {
        myExpectation.addExpected("A");

        myExpectation.addActual("A");
        try {
            myExpectation.addActual("C");
        } catch (AssertionFailedError ex) {
            return;
        }
        fail("Should have failed immediately");
    }

    public void testFailOnSizes() {
        myExpectation.addExpected("A");
        myExpectation.addExpected("B");

        myExpectation.addActual("A");
        myExpectation.addActual("B");

        try {
            myExpectation.addActual("C");
        } catch (AssertionFailedError ex) {
            return;
        }
        fail("Should have failed immediately");
    }

    public void testFailOnVerify() {
        myExpectation.setFailOnVerify();
        myExpectation.addExpectedMany(new String[]{"A", "B"});

        myExpectation.addActualMany(new String[]{"C", "A"});

        assertVerifyFails(myExpectation);
    }

    public void testFlushActual() {

        myExpectation.addActual("a value");

        myExpectation.setExpectNothing();
        myExpectation.verify();
    }

    public void testHasExpectations() {
        assertTrue(
                "Should not have any expectations",
                !myExpectation.hasExpectations());

        myExpectation.addExpected("item");

        assertTrue("Should have an expectation", myExpectation.hasExpectations());
    }

    public void testHasExpectationsForAddingManyArray() {
        assertTrue(
                "Should not have any expectations",
                !myExpectation.hasExpectations());

        myExpectation.addExpectedMany(new Object[0]);

        assertTrue("Should have an expectation", myExpectation.hasExpectations());
    }

    public void testHasExpectationsForAddingManyVector() {
        assertTrue(
                "Should not have any expectations",
                !myExpectation.hasExpectations());

        myExpectation.addExpectedMany(new Vector().elements());

        assertTrue("Should have an expectation", myExpectation.hasExpectations());
    }

    public void testHasNoExpectations() {

        myExpectation.addActual("a value");
        assertTrue("Has no expectations", !myExpectation.hasExpectations());
    }

    public void testManyFromEnumeration() {
        Vector expectedItems = new Vector();
        expectedItems.addElement("A");
        expectedItems.addElement("B");

        Vector actualItems = (Vector) expectedItems.clone();

        myExpectation.addExpectedMany(expectedItems.elements());

        myExpectation.addActualMany(actualItems.elements());

        myExpectation.verify();
    }

    public void testManyFromIterator() {
        Vector expectedItems = new Vector();
        expectedItems.addElement("A");
        expectedItems.addElement("B");

        Vector actualItems = (Vector) expectedItems.clone();

        myExpectation.addExpectedMany(expectedItems.iterator());

        myExpectation.addActualMany(actualItems.iterator());

        myExpectation.verify();
    }

    public void testMultiFailureFromEnumeration() {
        Vector expectedItems = new Vector();
        expectedItems.addElement("A");
        expectedItems.addElement("B");

        Vector actualItems = new Vector();
        actualItems.addElement("A");
        actualItems.addElement("C");

        myExpectation.addExpectedMany(expectedItems.elements());
        myExpectation.setFailOnVerify();

        myExpectation.addActualMany(actualItems.elements());

        assertVerifyFails(myExpectation);
    }

    public void testMultiFailureFromIterator() {
        Vector expectedItems = new Vector();
        expectedItems.addElement("A");
        expectedItems.addElement("B");

        Vector actualItems = new Vector();
        actualItems.addElement("A");
        actualItems.addElement("C");

        myExpectation.addExpectedMany(expectedItems.iterator());
        myExpectation.setFailOnVerify();

        myExpectation.addActualMany(actualItems.iterator());

        assertVerifyFails(myExpectation);
    }

    public void testMultiFailureSizes() {
        myExpectation.addExpectedMany(new String[]{"A", "B"});
        myExpectation.setFailOnVerify();

        myExpectation.addActualMany(new String[]{"A", "B", "C"});

        assertVerifyFails(myExpectation);
    }

    public void testExpectingALong() {
        final long expectedLong = 666l;

        myExpectation.addExpected(expectedLong);
        myExpectation.addActual(expectedLong);

        myExpectation.verify();
    }
}
TOP

Related Classes of org.jmock.expectation.AbstractTestExpectationCollection

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.