diff --git a/tools/data-binding/samples/BindingDemo/app/build.gradle b/tools/data-binding/samples/BindingDemo/app/build.gradle index 89f635bd119c0..d9da9f5ec2b11 100644 --- a/tools/data-binding/samples/BindingDemo/app/build.gradle +++ b/tools/data-binding/samples/BindingDemo/app/build.gradle @@ -66,4 +66,7 @@ dependencies { //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/tools/data-binding/samples/BindingDemo/app/src/test/java/com/android/example/bindingdemo/vo/UnitTest.java b/tools/data-binding/samples/BindingDemo/app/src/test/java/com/android/example/bindingdemo/vo/UnitTest.java new file mode 100644 index 0000000000000..3bda14341ad02 --- /dev/null +++ b/tools/data-binding/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/tools/data-binding/samples/BindingDemo/build.gradle b/tools/data-binding/samples/BindingDemo/build.gradle index 3e90374b4aa80..63cc83a0202c3 100644 --- a/tools/data-binding/samples/BindingDemo/build.gradle +++ b/tools/data-binding/samples/BindingDemo/build.gradle @@ -22,7 +22,7 @@ buildscript { 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