[Mockito] Mock List interface

In this post, we are going to see more functionalities in Mockito.

Mock a List interface:

    @Test
    public void testZie_returnOnce() {
        List listMock = mock(List.class);
        when(listMock.size()).thenReturn(10);
        assertEquals(10, listMock.size());
    }

Call multi times:

    @Test
    public void testZie_returnMultis() {
        List listMock = mock(List.class);
        when(listMock.size()).thenReturn(10).thenReturn(20);
        assertEquals(10, listMock.size());
        assertEquals(20, listMock.size());
    }

First call, return 10, second times return 20.

Mock, List.get():

    @Test
    public void testZie_returnGet() {
        List listMock = mock(List.class);
        when(listMock.get(0)).thenReturn("Good");
        assertEquals("Good", listMock.get(0));
        assertEquals(null, listMock.get(1));
    }

Mockito.anyInt():

    @Test
    public void testZie_returnGetAny() {
        List listMock = mock(List.class);
        when(listMock.get(Mockito.anyInt())).thenReturn("Good");
        assertEquals("Good", listMock.get(0));
        assertEquals("Good", listMock.get(1));
    }