1cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskipackage com.android.example.bindingdemo.vo;
2cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
3fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mountimport android.databinding.OnPropertyChangedListener;
4cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
5cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskiimport com.android.example.bindingdemo.R;
6cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
7cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskiimport org.junit.Before;
8cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskiimport org.junit.Test;
9cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
10cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskiimport static org.junit.Assert.assertEquals;
11cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskiimport static org.mockito.Mockito.mock;
12cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskiimport static org.mockito.Mockito.verify;
13cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskiimport static org.mockito.Mockito.verifyNoMoreInteractions;
14cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
15a6e4583962e19e8e93b4ca3f9fe3d34560b6d96cYigit Boyarimport com.android.example.bindingdemo.BR;
16cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowskipublic class UnitTest {
17cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
18cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    private User testUser;
19cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
20cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    @Before
21cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    public void setUp() throws Exception {
22658c71b9ba3211ac5c10f261a8c6f38b1916d3bfYigit Boyar        testUser = new User("Ted", "Tester", R.drawable.george, User.ROBOTS);
23cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    }
24cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
25cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    @Test
26cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    public void settersWorkFineOnTheJvm() throws Exception {
27cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski        assertEquals("Ted", testUser.getName());
28cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski        testUser.setName("Tom");
29cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski        assertEquals("Tom", testUser.getName());
30cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    }
31cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski
32cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    @Test
33cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    public void listeners() throws Exception {
34cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski        OnPropertyChangedListener mockListener = mock(OnPropertyChangedListener.class);
35cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski        testUser.addOnPropertyChangedListener(mockListener);
36cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski        testUser.setName("Tom");
37a6e4583962e19e8e93b4ca3f9fe3d34560b6d96cYigit Boyar        verify(mockListener).onPropertyChanged(testUser, BR.name);
38cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski        verifyNoMoreInteractions(mockListener);
39cec8772a54dfcf6a3d846cbeaf7ee6a49beb9bcdMichal Bendowski    }
40fead9ca09b117136b35bc5bf137340a754f9edddGeorge Mount}
41