|
|
|
@ -1,6 +1,7 @@ |
|
|
|
package net.pokeranalytics.android.filter |
|
|
|
package net.pokeranalytics.android.filter |
|
|
|
|
|
|
|
|
|
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4 |
|
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4 |
|
|
|
|
|
|
|
import io.realm.RealmList |
|
|
|
import net.pokeranalytics.android.model.filter.FilterManager |
|
|
|
import net.pokeranalytics.android.model.filter.FilterManager |
|
|
|
import net.pokeranalytics.android.model.filter.SessionFilterable |
|
|
|
import net.pokeranalytics.android.model.filter.SessionFilterable |
|
|
|
import net.pokeranalytics.android.model.realm.* |
|
|
|
import net.pokeranalytics.android.model.realm.* |
|
|
|
@ -354,4 +355,103 @@ class SessionFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { |
|
|
|
Assert.assertTrue(result.contains((it as Session).tournamentName?.id)) |
|
|
|
Assert.assertTrue(result.contains((it as Session).tournamentName?.id)) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
fun testAllTournamentFeatureFilter() { |
|
|
|
|
|
|
|
val realm = this.mockRealm |
|
|
|
|
|
|
|
realm.beginTransaction() |
|
|
|
|
|
|
|
val t1 = realm.createObject(TournamentFeature::class.java, "1") |
|
|
|
|
|
|
|
val t2 = realm.createObject(TournamentFeature::class.java, "2") |
|
|
|
|
|
|
|
val t3 = realm.createObject(TournamentFeature::class.java, "3") |
|
|
|
|
|
|
|
val t4 = realm.createObject(TournamentFeature::class.java, "4") |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t2)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t2,t3)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t3,t4)) |
|
|
|
|
|
|
|
val s = Session.testInstance(tournamentFeatures = RealmList(t1,t2,t3,t4)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t4)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t3)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t2,t4, t3)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1)) |
|
|
|
|
|
|
|
realm.commitTransaction() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val filter = SessionFilterable.ALL_TOURNAMENT_FEATURES |
|
|
|
|
|
|
|
filter.valueMap = mapOf("ids" to arrayOf(t1.id, t2.id, t3.id, t4.id)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val sessions = FilterManager().filter( |
|
|
|
|
|
|
|
realm, |
|
|
|
|
|
|
|
Session::class.java, |
|
|
|
|
|
|
|
arrayListOf(filter) |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.assertEquals(1, sessions.size) |
|
|
|
|
|
|
|
(sessions[0] as Session)?.run { |
|
|
|
|
|
|
|
Assert.assertEquals(s.id, this.id) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
fun testAnyTournamentFeatureFilter() { |
|
|
|
|
|
|
|
val realm = this.mockRealm |
|
|
|
|
|
|
|
realm.beginTransaction() |
|
|
|
|
|
|
|
val t1 = realm.createObject(TournamentFeature::class.java, "1") |
|
|
|
|
|
|
|
val t2 = realm.createObject(TournamentFeature::class.java, "2") |
|
|
|
|
|
|
|
val t3 = realm.createObject(TournamentFeature::class.java, "3") |
|
|
|
|
|
|
|
val t4 = realm.createObject(TournamentFeature::class.java, "4") |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t2)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t2,t3)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t3,t4)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t2,t3,t4)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t4)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t3)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t2,t4, t3)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1)) |
|
|
|
|
|
|
|
realm.commitTransaction() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val filter = SessionFilterable.ANY_TOURNAMENT_FEATURES |
|
|
|
|
|
|
|
filter.valueMap = mapOf("ids" to arrayOf(t1.id, t2.id, t3.id, t4.id)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val sessions = FilterManager().filter( |
|
|
|
|
|
|
|
realm, |
|
|
|
|
|
|
|
Session::class.java, |
|
|
|
|
|
|
|
arrayListOf(filter) |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.assertEquals(8, sessions.size) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
|
|
|
fun testSingleAnyTournamentFeatureFilter() { |
|
|
|
|
|
|
|
val realm = this.mockRealm |
|
|
|
|
|
|
|
realm.beginTransaction() |
|
|
|
|
|
|
|
val t1 = realm.createObject(TournamentFeature::class.java, "1") |
|
|
|
|
|
|
|
val t2 = realm.createObject(TournamentFeature::class.java, "2") |
|
|
|
|
|
|
|
val t3 = realm.createObject(TournamentFeature::class.java, "3") |
|
|
|
|
|
|
|
val t4 = realm.createObject(TournamentFeature::class.java, "4") |
|
|
|
|
|
|
|
val s1 = Session.testInstance(tournamentFeatures = RealmList(t1,t2)) |
|
|
|
|
|
|
|
val s2 = Session.testInstance(tournamentFeatures = RealmList(t2,t3)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t3,t4)) |
|
|
|
|
|
|
|
val s3 = Session.testInstance(tournamentFeatures = RealmList(t1,t2,t3,t4)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t4)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1,t3)) |
|
|
|
|
|
|
|
val s4 = Session.testInstance(tournamentFeatures = RealmList(t2,t4, t3)) |
|
|
|
|
|
|
|
Session.testInstance(tournamentFeatures = RealmList(t1)) |
|
|
|
|
|
|
|
realm.commitTransaction() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val filter = SessionFilterable.ANY_TOURNAMENT_FEATURES |
|
|
|
|
|
|
|
filter.valueMap = mapOf("ids" to arrayOf(t2.id)) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val sessions = FilterManager().filter( |
|
|
|
|
|
|
|
realm, |
|
|
|
|
|
|
|
Session::class.java, |
|
|
|
|
|
|
|
arrayListOf(filter) |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
val result = arrayListOf(s1.id, s2.id, s3.id, s4.id) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.assertEquals(4, sessions.size) |
|
|
|
|
|
|
|
sessions.forEach { |
|
|
|
|
|
|
|
Assert.assertTrue(result.contains((it as Session).id)) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |