blob: 571292fed20fac3c2f19f813261ff79dd0ed2851 [file] [log] [blame]
/*
* Copyright (c) 2007 Mockito contributors
* This program is made available under the terms of the MIT License.
*/
package org.mockitousage.stubbing;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockitousage.IMethods;
import org.mockitoutil.TestBase;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertTrue;
@SuppressWarnings("unchecked")
public class ReturningDefaultValuesTest extends TestBase {
@Mock private IMethods mock;
@Test
public void shouldReturnAllKindsOfPrimitives() throws Exception {
assertEquals((byte) 0, mock.byteReturningMethod());
assertEquals((short) 0, mock.shortReturningMethod());
assertEquals(0, mock.intReturningMethod());
assertEquals(0L, mock.longReturningMethod());
assertEquals(0.0F, mock.floatReturningMethod(), 0.0F);
assertEquals(0.0D, mock.doubleReturningMethod(), 0.0D);
assertEquals((char) 0, mock.charReturningMethod());
assertEquals(false, mock.booleanReturningMethod());
assertEquals(null, mock.objectReturningMethod());
}
@Test
public void shouldReturnTheSameValuesForWrapperClasses() throws Exception {
assertEquals(new Byte((byte) 0), mock.byteObjectReturningMethod());
assertEquals(new Short((short) 0), mock.shortObjectReturningMethod());
assertEquals(new Integer(0), mock.integerReturningMethod());
assertEquals(new Long(0L), mock.longObjectReturningMethod());
assertEquals(new Float(0.0F), mock.floatObjectReturningMethod(), 0.0F);
assertEquals(new Double(0.0D), mock.doubleObjectReturningMethod(), 0.0D);
assertEquals(new Character((char) 0), mock.charObjectReturningMethod());
assertEquals(new Boolean(false), mock.booleanObjectReturningMethod());
}
@Test
public void shouldReturnEmptyCollections() {
CollectionsServer mock = Mockito.mock(CollectionsServer.class);
assertTrue(mock.list().isEmpty());
assertTrue(mock.linkedList().isEmpty());
assertTrue(mock.map().isEmpty());
assertTrue(mock.hashSet().isEmpty());
}
@Test
public void shouldReturnMutableEmptyCollection() {
CollectionsServer mock = Mockito.mock(CollectionsServer.class);
List list = mock.list();
list.add("test");
assertTrue(mock.list().isEmpty());
}
private class CollectionsServer {
List<?> list() {
return null;
}
LinkedList<?> linkedList() {
return null;
}
Map<?, ?> map() {
return null;
}
HashSet<?> hashSet() {
return null;
}
}
}