DirConverterBehaviourTest.java 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package pl.konrad;
  2. import org.junit.jupiter.api.Test;
  3. import org.mockito.ArgumentCaptor;
  4. import static org.junit.jupiter.api.Assertions.assertEquals;
  5. import static org.mockito.Mockito.*;
  6. public class DirConverterBehaviourTest {
  7. DirConverter dirConverter = mock(DirConverter.class);
  8. @Test
  9. public void testBehaviourWithDoNothing() {
  10. doNothing().when(dirConverter).convert("", ".xml");
  11. dirConverter.convert("", ".xml");
  12. verify(dirConverter, times(1)).convert("", ".xml");
  13. }
  14. @Test
  15. public void testBehaviourWithArgumentCaptor() {
  16. ArgumentCaptor<String> valueCapture = ArgumentCaptor.forClass(String.class);
  17. doNothing().when(dirConverter).convert(anyString(), valueCapture.capture());
  18. dirConverter.convert("","captured");
  19. assertEquals("captured",valueCapture.getValue());
  20. }
  21. @Test
  22. public void testBehaviourWithCalledAnswer(){
  23. doAnswer(invocationOnMock -> {
  24. Object arg0 = invocationOnMock.getArgument(0);
  25. Object arg1 = invocationOnMock.getArgument(1);
  26. assertEquals("filepath", arg0);
  27. assertEquals(".json", arg1);
  28. return null;
  29. }).when(dirConverter).convert(anyString(),anyString());
  30. dirConverter.convert("filepath",".json");
  31. }
  32. @Test
  33. public void testBehaviourWithPartialMocking(){
  34. doCallRealMethod().when(dirConverter).convert(anyString(),anyString());
  35. dirConverter.convert("pathToDirectory",".xml");
  36. verify(dirConverter,times(1)).convert("pathToDirectory",".xml");
  37. }
  38. }