Переглянути джерело

Removed test utils in favor of inline setup

sduduzog 7 роки тому
батько
коміт
2320aaafeb

+ 22 - 4
app/src/androidTest/java/com/sduduzog/slimlauncher/DBTest.kt

@@ -1,9 +1,11 @@
 package com.sduduzog.slimlauncher
 
 import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import androidx.lifecycle.Observer
 import androidx.room.Room
 import androidx.test.internal.runner.junit4.AndroidJUnit4ClassRunner
 import androidx.test.platform.app.InstrumentationRegistry
+import com.sduduzog.slimlauncher.data.App
 import com.sduduzog.slimlauncher.data.AppDao
 import com.sduduzog.slimlauncher.data.DataRoomDatabase
 import org.hamcrest.CoreMatchers.equalTo
@@ -13,6 +15,8 @@ import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
+import java.util.concurrent.CountDownLatch
+import java.util.concurrent.TimeUnit
 
 @RunWith(AndroidJUnit4ClassRunner::class)
 class DBTest {
@@ -27,7 +31,7 @@ class DBTest {
     fun createDb() {
         val context = InstrumentationRegistry.getInstrumentation().context
         mDb = Room.inMemoryDatabaseBuilder(context, DataRoomDatabase::class.java).build()
-        mAppDao = mDb?.appDao()
+        mAppDao = mDb!!.appDao()
     }
 
     @After
@@ -38,9 +42,23 @@ class DBTest {
     @Test
     @Throws(InterruptedException::class)
     fun testInsertLiveDataApps() {
-        val app = TestUtil.createApp("TestApp", "com.test.test.app", "TestMainActivity")
-        mAppDao?.insert(app)
-        val appsInstalled = LiveDataTestUtil.getValue(mAppDao!!.apps)
+        val app = App("TestApp", "com.test.test.app", "TestMainActivity")
+        mAppDao!!.insert(app)
+
+        var appsInstalled: List<App> = listOf()
+
+        val latch = CountDownLatch(1)
+
+        val appsLiveData = mAppDao!!.apps
+
+        val observer = Observer<List<App>> {
+            appsInstalled = it
+            latch.countDown()
+        }
+
+        appsLiveData.observeForever(observer)
+        latch.await(2, TimeUnit.SECONDS)
+        appsLiveData.removeObserver(observer)
         assertThat(appsInstalled.size, equalTo(1))
     }
 }

+ 0 - 27
app/src/androidTest/java/com/sduduzog/slimlauncher/LiveDataTestUtil.kt

@@ -1,27 +0,0 @@
-package com.sduduzog.slimlauncher
-
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.Observer
-
-import java.util.concurrent.CountDownLatch
-import java.util.concurrent.TimeUnit
-
-object LiveDataTestUtil {
-
-    @Throws(InterruptedException::class)
-    inline fun <reified T> getValue(liveData: LiveData<T>): T {
-        val data = arrayOfNulls<Any>(1)
-        val latch = CountDownLatch(1)
-        val observer = object : Observer<T> {
-            override fun onChanged(o: T?) {
-                data[0] = o
-                latch.countDown()
-                liveData.removeObserver(this)
-            }
-        }
-        liveData.observeForever(observer)
-        latch.await(2, TimeUnit.SECONDS)
-
-        return data[0] as T
-    }
-}

+ 0 - 10
app/src/androidTest/java/com/sduduzog/slimlauncher/TestUtil.kt

@@ -1,10 +0,0 @@
-package com.sduduzog.slimlauncher
-
-import com.sduduzog.slimlauncher.data.App
-
-internal object TestUtil {
-
-    fun createApp(appName: String, packageName: String, activityName: String): App {
-        return App(appName, packageName, activityName)
-    }
-}