package com.android.example.bindingdemo.vo;
import android.databinding.OnPropertyChangedListener;
import com.android.example.bindingdemo.R;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
import com.android.example.bindingdemo.BR;
public class UnitTest {
private User testUser;
@Before
public void setUp() throws Exception {
testUser = new User("Ted", "Tester", R.drawable.george, User.ROBOTS);
}
@Test
public void settersWorkFineOnTheJvm() throws Exception {
assertEquals("Ted", testUser.getName());
testUser.setName("Tom");
assertEquals("Tom", testUser.getName());
}
@Test
public void listeners() throws Exception {
OnPropertyChangedListener mockListener = mock(OnPropertyChangedListener.class);
testUser.addOnPropertyChangedListener(mockListener);
testUser.setName("Tom");
verify(mockListener).onPropertyChanged(testUser, BR.name);
verifyNoMoreInteractions(mockListener);
}
}