/* * Copyright 2020 Allan Wang * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ package com.pitchedapps.frost import android.app.Application import android.content.Context import androidx.test.runner.AndroidJUnitRunner import com.pitchedapps.frost.prefs.Prefs import dagger.hilt.android.testing.HiltTestApplication import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement import org.koin.core.component.KoinComponent import org.koin.core.component.get class FrostTestRunner : AndroidJUnitRunner() { override fun newApplication( cl: ClassLoader?, className: String?, context: Context? ): Application { return super.newApplication(cl, HiltTestApplication::class.java.name, context) } } class FrostTestRule : TestRule { override fun apply(base: Statement, description: Description): Statement = object : Statement(), KoinComponent { override fun evaluate() { // Reset prefs get().reset() base.evaluate() } } }