package org.simpleflatmapper.test.map.mapper; import org.junit.Test; import org.simpleflatmapper.map.Mapper; import org.simpleflatmapper.map.MappingContext; import org.simpleflatmapper.map.mapper.MapperBiFunctionAdapter; import org.simpleflatmapper.util.Predicate; import static org.junit.Assert.*; import static org.mockito.Matchers.any; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class MapperBiFunctionAdapterTest { @SuppressWarnings("unchecked") @Test public void test() throws Exception { Predicate<Object> nullChecker = mock(Predicate.class); Mapper<Object, String> mapper = mock(Mapper.class); MappingContext mappingContext = mock(MappingContext.class); MapperBiFunctionAdapter<Object, String> biFunctionAdapter = new MapperBiFunctionAdapter<Object, String>(mapper, nullChecker, 0); Object o = new Object(); when(mapper.map(o, mappingContext)).thenReturn("HEllo", "Bye"); when(nullChecker.test(any())).thenReturn(false, true); assertEquals("HEllo", biFunctionAdapter.apply(o, mappingContext)); assertNull(biFunctionAdapter.apply(null, null)); biFunctionAdapter.toString(); } }