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