blob: b7a9f5cd095c449ffb91f684be88f6ecd0fef75f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2006 Brad Reynolds.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Brad Reynolds - initial API and implementation
*******************************************************************************/
package org.eclipse.ui.tests.harness.tests;
import java.lang.reflect.UndeclaredThrowableException;
import junit.framework.TestCase;
import org.eclipse.ui.tests.harness.util.Mocks;
/**
* Tests for the Mocks class.
*
* @since 1.1
*/
public class MocksTest extends TestCase {
private IPrimitive primitiveMock;
private static boolean uninitializedBoolean;
private static byte unitializedByte;
private static char unitializedChar;
private static short unitializedShort;
private static int unitializedInt;
private static long unitializedLong;
private static float unitializedFloat;
private static double unitializedDouble;
protected void setUp() throws Exception {
primitiveMock = (IPrimitive) Mocks.createRelaxedMock(IPrimitive.class);
}
public void testPrimitiveBooleanReturnType() throws Exception {
try {
boolean value = primitiveMock.getBoolean();
assertEquals(uninitializedBoolean, value);
} catch (UndeclaredThrowableException e) {
fail("exception should not have been thrown");
}
}
public void testPrimitiveBooleanSetLastReturnValue() throws Exception {
Boolean value = Boolean.TRUE;
primitiveMock.getBoolean();
Mocks.setLastReturnValue(primitiveMock, value);
Mocks.startChecking(primitiveMock);
assertEquals(value.booleanValue(), primitiveMock.getBoolean());
}
public void testPrimitiveByteReturnType() throws Exception {
try {
byte value = primitiveMock.getByte();
assertEquals(unitializedByte, value);
} catch (UndeclaredThrowableException e) {
fail("exception should not have been thrown");
}
}
public void testPrimitiveByteSetLastReturnValue() throws Exception {
Byte value = new Byte((byte) 1);
primitiveMock.getByte();
Mocks.setLastReturnValue(primitiveMock, value);
Mocks.startChecking(primitiveMock);
assertEquals(value.byteValue(), primitiveMock.getByte());
}
public void testPrimitiveCharReturnType() throws Exception {
try {
char value = primitiveMock.getChar();
assertEquals(unitializedChar, value);
} catch (UndeclaredThrowableException e) {
fail("exception should not have been thrown");
}
}
public void testPrimitiveCharSetLastReturnValue() throws Exception {
Character value = new Character('a');
primitiveMock.getChar();
Mocks.setLastReturnValue(primitiveMock, value);
Mocks.startChecking(primitiveMock);
assertEquals(value.charValue(), primitiveMock.getChar());
}
public void testPrimitiveShortReturnType() throws Exception {
try {
short value = primitiveMock.getShort();
assertEquals(unitializedShort, value);
} catch (UndeclaredThrowableException e) {
fail("exception should not have been thrown");
}
}
public void testPrimitiveShortSetLastReturnValue() throws Exception {
Short value = new Short((short) 1);
primitiveMock.getShort();
Mocks.setLastReturnValue(primitiveMock, value);
Mocks.startChecking(primitiveMock);
assertEquals(value.shortValue(), primitiveMock.getShort());
}
public void testPrimitiveIntReturnType() throws Exception {
try {
int value = primitiveMock.getInt();
assertEquals(unitializedInt, value);
} catch (UndeclaredThrowableException e) {
fail("exception should not have been thrown");
}
}
public void testPrimitiveIntSetLastReturnValue() throws Exception {
Integer value = new Integer(1);
primitiveMock.getInt();
Mocks.setLastReturnValue(primitiveMock, value);
Mocks.startChecking(primitiveMock);
assertEquals(value.intValue(), primitiveMock.getInt());
}
public void testPrimitiveLongReturnType() throws Exception {
try {
long value = primitiveMock.getLong();
assertEquals(unitializedLong, value);
} catch (UndeclaredThrowableException e) {
fail("exception should not have been thrown");
}
}
public void testPrimitiveLongSetLastReturnValue() throws Exception {
Long value = new Long(1);
primitiveMock.getLong();
Mocks.setLastReturnValue(primitiveMock, value);
Mocks.startChecking(primitiveMock);
assertEquals(value.longValue(), primitiveMock.getLong());
}
public void testPrimitiveFloatReturnType() throws Exception {
try {
float value = primitiveMock.getFloat();
assertEquals(unitializedFloat, value, 0);
} catch (UndeclaredThrowableException e) {
fail("exception should not have been thrown");
}
}
public void testPrimitiveFloatSetLastReturnValue() throws Exception {
Float value = new Float(1);
primitiveMock.getFloat();
Mocks.setLastReturnValue(primitiveMock, value);
Mocks.startChecking(primitiveMock);
assertEquals(value.floatValue(), primitiveMock.getFloat(), 0);
}
public void testPrimitiveDoubleReturnType() throws Exception {
try {
double value = primitiveMock.getDouble();
assertEquals(unitializedDouble, value, 0);
} catch (UndeclaredThrowableException e) {
fail("exception should not have been thrown");
}
}
public void testPrimitiveDoubleSetLastReturnValue() throws Exception {
Double value = new Double(1);
primitiveMock.getDouble();
Mocks.setLastReturnValue(primitiveMock, value);
Mocks.startChecking(primitiveMock);
assertEquals(value.doubleValue(), primitiveMock.getDouble(), 0);
}
public interface IPrimitive {
public boolean getBoolean();
public byte getByte();
public char getChar();
public short getShort();
public int getInt();
public long getLong();
public float getFloat();
public double getDouble();
}
}