From 29708eaba30161413b7a8dae00b3963868ad2e86 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Mon, 18 Mar 2019 10:35:06 +0100 Subject: [PATCH] update filter tests --- .../android/FilterInstrumentedUnitTest.kt | 133 ++++++------------ .../android/model/filter/FilterComponent.kt | 8 +- 2 files changed, 48 insertions(+), 93 deletions(-) diff --git a/app/src/androidTest/java/net/pokeranalytics/android/FilterInstrumentedUnitTest.kt b/app/src/androidTest/java/net/pokeranalytics/android/FilterInstrumentedUnitTest.kt index 8d44c945..1db95190 100644 --- a/app/src/androidTest/java/net/pokeranalytics/android/FilterInstrumentedUnitTest.kt +++ b/app/src/androidTest/java/net/pokeranalytics/android/FilterInstrumentedUnitTest.kt @@ -5,6 +5,7 @@ import io.realm.RealmResults import net.pokeranalytics.android.model.filter.FilterManager import net.pokeranalytics.android.model.filter.SessionFilterable import net.pokeranalytics.android.model.realm.Bankroll +import net.pokeranalytics.android.model.realm.Result import net.pokeranalytics.android.model.realm.Session import org.junit.Assert import org.junit.Test @@ -14,16 +15,26 @@ import java.util.* @RunWith(AndroidJUnit4::class) class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { + // convenience extension + fun Session.Companion.testInstance(netResult: Double, isTournament: Boolean, startDate: Date, endDate: Int, bankroll:Bankroll? = null): Session { + val session: Session = Session.newInstance(super.mockRealm, isTournament, bankroll) + session.result?.netResult = netResult + session.startDate = startDate + val cal = Calendar.getInstance() // creates calendar + cal.time = startDate // sets calendar time/date + cal.add(Calendar.HOUR_OF_DAY, endDate) // adds one hour + session.endDate = cal.time // returns new date object, one hour in the future + return session + } + @Test fun testCashFilter() { val realm = this.mockRealm realm.beginTransaction() - val s1 = realm.createObject(Session::class.java, "1") - val s2 = realm.createObject(Session::class.java, "2") - s1.type = Session.Type.CASH_GAME.ordinal - s2.type = Session.Type.TOURNAMENT.ordinal + val s1 = Session.testInstance(100.0, false, Date(), 1) + val s2 = Session.testInstance(100.0, true, Date(), 1) realm.commitTransaction() val sessions = FilterManager().filter( @@ -44,16 +55,14 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { val realm = this.mockRealm realm.beginTransaction() - val s1 = realm.createObject(Session::class.java, "1") - val s2 = realm.createObject(Session::class.java, "2") - s1.type = Session.Type.CASH_GAME.ordinal - s2.type = Session.Type.TOURNAMENT.ordinal + val s1 = Session.testInstance(100.0, false, Date(), 1) + val s2 = Session.testInstance(100.0, true, Date(), 1) realm.commitTransaction() val sessions = FilterManager().filter( realm, Session::class.java, - arrayListOf(SessionFilterable.CASH) + arrayListOf(SessionFilterable.TOURNAMENT) ) as RealmResults Assert.assertEquals(1, sessions.size) @@ -66,19 +75,15 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { fun testLiveFilter() { val realm = this.mockRealm - realm.beginTransaction() - val s1 = realm.createObject(Session::class.java, "1") - val s2 = realm.createObject(Session::class.java, "2") + realm.beginTransaction() val b1 = realm.createObject(Bankroll::class.java, "1") val b2 = realm.createObject(Bankroll::class.java, "2") - b1.live = true b2.live = false - s1.bankroll = b1 - s2.bankroll = b2 - + val s1 = Session.testInstance(100.0, false, Date(), 1, b1) + val s2 = Session.testInstance(100.0, true, Date(), 1, b2) realm.commitTransaction() val sessions = FilterManager().filter( @@ -98,18 +103,13 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { val realm = this.mockRealm realm.beginTransaction() - - val s1 = realm.createObject(Session::class.java, "1") - val s2 = realm.createObject(Session::class.java, "2") val b1 = realm.createObject(Bankroll::class.java, "1") val b2 = realm.createObject(Bankroll::class.java, "2") - b1.live = false b2.live = true - s1.bankroll = b1 - s2.bankroll = b2 - + val s1 = Session.testInstance(100.0, false, Date(), 1, b1) + val s2 = Session.testInstance(100.0, true, Date(), 1, b2) realm.commitTransaction() val sessions = FilterManager().filter( @@ -128,26 +128,14 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { fun testStartedFomDateFilter() { val realm = this.mockRealm + realm.beginTransaction() val cal = Calendar.getInstance() // creates calendar cal.time = Date() // sets calendar time/date - realm.beginTransaction() - - val s1 = realm.createObject(Session::class.java, "1") - val s2 = realm.createObject(Session::class.java, "2") - - s1.startDate = cal.time - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s1.endDate = cal.time // returns new date object, one hour in the future - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s2.startDate = cal.time - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s2.endDate = cal.time // returns new date object, one hour in the future - + val s1 = Session.testInstance(100.0, false, cal.time, 1) + cal.add(Calendar.HOUR_OF_DAY, 2) // adds one hour + val s2 = Session.testInstance(100.0, true, cal.time, 1) realm.commitTransaction() var filter = SessionFilterable.STARTED_FROM_DATE @@ -161,7 +149,7 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { Assert.assertEquals(1, sessions.size) sessions[0]?.run { - Assert.assertEquals("2", this.id) + Assert.assertEquals(s2.id, this.id) } } @@ -169,25 +157,14 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { fun testStartedToDateFilter() { val realm = this.mockRealm + realm.beginTransaction() val cal = Calendar.getInstance() // creates calendar cal.time = Date() // sets calendar time/date - realm.beginTransaction() - - val s1 = realm.createObject(Session::class.java, "1") - val s2 = realm.createObject(Session::class.java, "2") - - s1.startDate = cal.time - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s1.endDate = cal.time // returns new date object, one hour in the future - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s2.startDate = cal.time - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s2.endDate = cal.time // returns new date object, one hour in the future + val s1 = Session.testInstance(100.0, false, cal.time, 1) + cal.add(Calendar.HOUR_OF_DAY, 2) // adds one hour + val s2 = Session.testInstance(100.0, true, cal.time, 1) realm.commitTransaction() @@ -202,7 +179,7 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { Assert.assertEquals(1, sessions.size) sessions[0]?.run { - Assert.assertEquals("1", this.id) + Assert.assertEquals(s1.id, this.id) } } @@ -210,25 +187,14 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { fun testEndedFomDateFilter() { val realm = this.mockRealm + realm.beginTransaction() val cal = Calendar.getInstance() // creates calendar cal.time = Date() // sets calendar time/date - realm.beginTransaction() - - val s1 = realm.createObject(Session::class.java, "1") - val s2 = realm.createObject(Session::class.java, "2") - - s1.startDate = cal.time - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s1.endDate = cal.time // returns new date object, one hour in the future - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s2.startDate = cal.time - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s2.endDate = cal.time // returns new date object, one hour in the future + val s1 = Session.testInstance(100.0, false, cal.time, 1) + cal.add(Calendar.HOUR_OF_DAY, 2) // adds one hour + val s2 = Session.testInstance(100.0, true, cal.time, 1) realm.commitTransaction() @@ -243,7 +209,7 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { Assert.assertEquals(1, sessions.size) sessions[0]?.run { - Assert.assertEquals("2", this.id) + Assert.assertEquals(s2.id, this.id) } } @@ -251,28 +217,17 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { fun testEndedToDateFilter() { val realm = this.mockRealm + realm.beginTransaction() val cal = Calendar.getInstance() // creates calendar cal.time = Date() // sets calendar time/date - realm.beginTransaction() - - val s1 = realm.createObject(Session::class.java, "1") - val s2 = realm.createObject(Session::class.java, "2") - - s1.startDate = cal.time - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s1.endDate = cal.time // returns new date object, one hour in the future - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s2.startDate = cal.time - - cal.add(Calendar.HOUR_OF_DAY, 1) // adds one hour - s2.endDate = cal.time // returns new date object, one hour in the future - + val s1 = Session.testInstance(100.0, false, cal.time, 1) + cal.add(Calendar.HOUR_OF_DAY, 2) // adds one hour + val s2 = Session.testInstance(100.0, true, cal.time, 1) realm.commitTransaction() + var filter = SessionFilterable.ENDED_TO_DATE filter.valueMap = mapOf("date" to s1.endDate) @@ -284,7 +239,7 @@ class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { Assert.assertEquals(1, sessions.size) sessions[0]?.run { - Assert.assertEquals("1", this.id) + Assert.assertEquals(s1.id, this.id) } } } \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/model/filter/FilterComponent.kt b/app/src/main/java/net/pokeranalytics/android/model/filter/FilterComponent.kt index bd727baf..b2f599e6 100644 --- a/app/src/main/java/net/pokeranalytics/android/model/filter/FilterComponent.kt +++ b/app/src/main/java/net/pokeranalytics/android/model/filter/FilterComponent.kt @@ -63,19 +63,19 @@ enum class SessionFilterable(var fieldName:String? = null) : Filterable { } STARTED_FROM_DATE -> { val date : Date by valueMap - this.filter(realmQuery.greaterThanOrEqualTo(Field.START_DATE.fieldName, date)) + realmQuery.greaterThanOrEqualTo(Field.START_DATE.fieldName, date) } STARTED_TO_DATE -> { val date : Date by valueMap - this.filter(realmQuery.lessThanOrEqualTo(Field.START_DATE.fieldName, date)) + realmQuery.lessThanOrEqualTo(Field.START_DATE.fieldName, date) } ENDED_FROM_DATE -> { val date : Date by valueMap - this.filter(realmQuery.greaterThanOrEqualTo(Field.END_DATE.fieldName, date)) + realmQuery.greaterThanOrEqualTo(Field.END_DATE.fieldName, date) } ENDED_TO_DATE -> { val date : Date by valueMap - this.filter(realmQuery.lessThanOrEqualTo(Field.END_DATE.fieldName, date)) + realmQuery.lessThanOrEqualTo(Field.END_DATE.fieldName, date) } BLINDS -> {