Guest User

Mockito problem

a guest
Jul 26th, 2010
530
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.53 KB | None | 0 0
  1. package dk.skat.dmr.service.business;
  2.  
  3. import static org.mockito.Mockito.*;
  4.  
  5. import java.util.List;
  6.  
  7. import org.junit.Test;
  8. import org.mockito.ArgumentCaptor;
  9. import org.mockito.ArgumentMatcher;
  10. import org.mockito.InOrder;
  11.  
  12. public class ArgCaptorTest {
  13.  
  14.     @Test
  15.     public void testAdd() {
  16.         ArgumentCaptor<Dummy> captor = ArgumentCaptor.forClass(Dummy.class);
  17.  
  18.         List<Dummy> mList = mock(List.class);
  19.         Dummy dummy = new Dummy();
  20.  
  21.         when(mList.get(anyInt())).thenReturn(dummy);
  22.  
  23.         Dummy d = mList.get(12);
  24.         d.setName("John");
  25.         mList.add(d);
  26.  
  27.         Dummy g = mList.get(10);
  28.         g.setName("Ben");
  29.         mList.add(g);
  30.  
  31.         Dummy x = mList.get(120);
  32.         x.setName("Don");
  33.         mList.add(x);
  34.  
  35.         // verify(mList, times(3)).add(captor.capture());
  36.  
  37.         // This doesnt work either
  38.         InOrder inOrder = inOrder(mList);
  39.         inOrder.verify(mList).add(argThat(new IsCool(d)));
  40.         inOrder.verify(mList).add(argThat(new IsCool(g)));
  41.         inOrder.verify(mList).add(argThat(new IsCool(x)));
  42.  
  43.     }
  44.  
  45.     class IsCool extends ArgumentMatcher<Dummy> {
  46.         private final String value;
  47.  
  48.         public IsCool(Dummy s) {
  49.             value = s.getName();
  50.         }
  51.  
  52.         @Override
  53.         public boolean matches(Object argument) {
  54.             Dummy v = (Dummy) argument;
  55.             return v.getName().equals(value);
  56.         }
  57.  
  58.     }
  59.  
  60.     class Dummy {
  61.         private String name;
  62.         private int id;
  63.  
  64.         public String getName() {
  65.             return name;
  66.         }
  67.  
  68.         public void setName(String name) {
  69.             this.name = name;
  70.         }
  71.  
  72.         public int getId() {
  73.             return id;
  74.         }
  75.  
  76.         public void setId(int id) {
  77.             this.id = id;
  78.         }
  79.  
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment