/* * Copyright LGPL3 * YES Technology Association * http://yestech.org * * http://www.opensource.org/licenses/lgpl-3.0.html */ package org.yestech.lib.ibatis; import com.ibatis.sqlmap.client.extensions.ParameterSetter; import com.ibatis.sqlmap.client.extensions.ResultGetter; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import static org.junit.Assert.*; import static org.mockito.Mockito.*; import org.mockito.runners.MockitoJUnitRunner; import java.sql.Types; /* * * Author: Greg Crow * Last Modified Date: $DateTime: $ */ @RunWith(MockitoJUnitRunner.class) public class YesNoBooleanTypeHandlerUnitTest { private YesNoBooleanTypeHandler handler; @Before public void setup() { handler = new YesNoBooleanTypeHandler(); } @Test public void testGetResultWith_Y() throws Exception { ResultGetter getterMock = mock(ResultGetter.class); when(getterMock.getString()).thenReturn("Y"); Object result = handler.getResult(getterMock); assertTrue(result instanceof Boolean); assertTrue((Boolean) result); } @Test public void testGetResultWith_N() throws Exception { ResultGetter getterMock = mock(ResultGetter.class); when(getterMock.getString()).thenReturn("N"); Object result = handler.getResult(getterMock); assertTrue(result instanceof Boolean); assertFalse((Boolean) result); } @Test public void testGetResultWith_y() throws Exception { ResultGetter getterMock = mock(ResultGetter.class); when(getterMock.getString()).thenReturn("y"); Object result = handler.getResult(getterMock); assertTrue(result instanceof Boolean); assertTrue((Boolean) result); } @Test public void testGetResultWith_n() throws Exception { ResultGetter getterMock = mock(ResultGetter.class); when(getterMock.getString()).thenReturn("n"); Object result = handler.getResult(getterMock); assertTrue(result instanceof Boolean); assertFalse((Boolean) result); } @Test public void testGetResultWithNoBoolVal() throws Exception { ResultGetter getterMock = mock(ResultGetter.class); when(getterMock.getString()).thenReturn("somedata"); Object result = handler.getResult(getterMock); assertFalse(result instanceof Boolean); assertEquals("somedata", result.toString()); } @Test public void testSetParameterWithNull() throws Exception { ParameterSetter setterMock = mock(ParameterSetter.class); handler.setParameter(setterMock, null); verify(setterMock, times(1)).setNull(Types.VARCHAR); } @Test public void testSetParameterWithTrue() throws Exception { ParameterSetter setterMock = mock(ParameterSetter.class); handler.setParameter(setterMock, true); verify(setterMock, times(1)).setString("Y"); } @Test public void testSetParameterWithFalse() throws Exception { ParameterSetter setterMock = mock(ParameterSetter.class); handler.setParameter(setterMock, false); verify(setterMock, times(1)).setString("N"); } }