Merge "Add a unit test to the sample project."
diff --git a/samples/BindingDemo/app/build.gradle b/samples/BindingDemo/app/build.gradle
index 89f635b..d9da9f5 100644
--- a/samples/BindingDemo/app/build.gradle
+++ b/samples/BindingDemo/app/build.gradle
@@ -66,4 +66,7 @@
//provided 'com.android.databinding:compiler:0.3-SNAPSHOT'
provided 'com.android.databinding:annotationprocessor:0.3-SNAPSHOT'
provided fileTree(dir : 'build/databinder/src', include : ['*.java'])
+
+ testCompile 'junit:junit:4.12'
+ testCompile 'org.mockito:mockito-core:1.9.5'
}
diff --git a/samples/BindingDemo/app/src/test/java/com/android/example/bindingdemo/vo/UnitTest.java b/samples/BindingDemo/app/src/test/java/com/android/example/bindingdemo/vo/UnitTest.java
new file mode 100644
index 0000000..3bda143
--- /dev/null
+++ b/samples/BindingDemo/app/src/test/java/com/android/example/bindingdemo/vo/UnitTest.java
@@ -0,0 +1,39 @@
+package com.android.example.bindingdemo.vo;
+
+import android.binding.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;
+
+public class UnitTest {
+
+ private User testUser;
+
+ @Before
+ public void setUp() throws Exception {
+ testUser = new User("Ted", "Tester", R.drawable.george, User.ROBOT);
+ }
+
+ @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, android.binding.BR.name);
+ verifyNoMoreInteractions(mockListener);
+ }
+}
\ No newline at end of file
diff --git a/samples/BindingDemo/build.gradle b/samples/BindingDemo/build.gradle
index 3e90374..63cc83a 100644
--- a/samples/BindingDemo/build.gradle
+++ b/samples/BindingDemo/build.gradle
@@ -22,7 +22,7 @@
mavenCentral()
}
dependencies {
- classpath "com.android.tools.build:gradle:1.0.0"
+ classpath "com.android.tools.build:gradle:1.1.3"
classpath 'com.android.databinding:dataBinder:0.3-SNAPSHOT'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files