aboutsummaryrefslogtreecommitdiff
path: root/app/src/test/kotlin/com/pitchedapps/frost/DbFlowTestRule.kt
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/test/kotlin/com/pitchedapps/frost/DbFlowTestRule.kt')
-rw-r--r--app/src/test/kotlin/com/pitchedapps/frost/DbFlowTestRule.kt38
1 files changed, 38 insertions, 0 deletions
diff --git a/app/src/test/kotlin/com/pitchedapps/frost/DbFlowTestRule.kt b/app/src/test/kotlin/com/pitchedapps/frost/DbFlowTestRule.kt
new file mode 100644
index 00000000..aaf38a0f
--- /dev/null
+++ b/app/src/test/kotlin/com/pitchedapps/frost/DbFlowTestRule.kt
@@ -0,0 +1,38 @@
+package com.pitchedapps.frost
+
+import com.raizlabs.android.dbflow.config.DatabaseConfig
+import com.raizlabs.android.dbflow.config.FlowConfig
+import com.raizlabs.android.dbflow.config.FlowManager
+import org.junit.rules.TestRule
+import org.junit.runner.Description
+import org.junit.runners.model.Statement
+import org.robolectric.RuntimeEnvironment
+
+/**
+ * Created by Allan Wang on 2017-05-30.
+ */
+
+class DBFlowTestRule : TestRule {
+
+ override fun apply(base: Statement, description: Description): Statement {
+ return object : Statement() {
+
+ @Throws(Throwable::class)
+ override fun evaluate() {
+ FlowManager.init(FlowConfig.Builder(RuntimeEnvironment.application)
+ .addDatabaseConfig(DatabaseConfig.Builder(TestDatabase::class.java)
+ .transactionManagerCreator(::ImmediateTransactionManager)
+ .build()).build())
+ try {
+ base.evaluate()
+ } finally {
+ FlowManager.destroy()
+ }
+ }
+ }
+ }
+
+ companion object {
+ fun create() = DBFlowTestRule()
+ }
+} \ No newline at end of file