Guest User

Mockito problem

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