Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dk.skat.dmr.service.business;
- import static org.mockito.Mockito.*;
- import java.util.List;
- import org.junit.Test;
- import org.mockito.ArgumentCaptor;
- import org.mockito.ArgumentMatcher;
- import org.mockito.InOrder;
- public class ArgCaptorTest {
- @Test
- public void testAdd() {
- ArgumentCaptor<Dummy> captor = ArgumentCaptor.forClass(Dummy.class);
- List<Dummy> mList = mock(List.class);
- Dummy dummy = new Dummy();
- when(mList.get(anyInt())).thenReturn(dummy);
- Dummy d = mList.get(12);
- d.setName("John");
- mList.add(d);
- Dummy g = mList.get(10);
- g.setName("Ben");
- mList.add(g);
- Dummy x = mList.get(120);
- x.setName("Don");
- mList.add(x);
- // verify(mList, times(3)).add(captor.capture());
- // This doesnt work either
- InOrder inOrder = inOrder(mList);
- inOrder.verify(mList).add(argThat(new IsCool(d)));
- inOrder.verify(mList).add(argThat(new IsCool(g)));
- inOrder.verify(mList).add(argThat(new IsCool(x)));
- }
- class IsCool extends ArgumentMatcher<Dummy> {
- private final String value;
- public IsCool(Dummy s) {
- value = s.getName();
- }
- @Override
- public boolean matches(Object argument) {
- Dummy v = (Dummy) argument;
- return v.getName().equals(value);
- }
- }
- class Dummy {
- private String name;
- private int id;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment