code cleanup

feature/top10
Laurent 7 years ago
parent 25d2fdac15
commit 78c9ec2c51
  1. 20
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/filter/CustomFieldFilterInstrumentedUnitTest.kt
  2. 3
      app/src/main/java/net/pokeranalytics/android/model/filter/Query.kt
  3. 1
      app/src/main/java/net/pokeranalytics/android/model/filter/QueryCondition.kt
  4. 14
      app/src/main/java/net/pokeranalytics/android/model/realm/Filter.kt

@ -51,14 +51,16 @@ class CustomFieldFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
@Test @Test
fun testCustomFieldAmountFilter() { fun testCustomFieldAmountFilter() {
val cf1Id = "1234"
var s2Id = ""
val realm = this.mockRealm val realm = this.mockRealm
realm.beginTransaction() realm.executeTransaction {
val cf1 = CustomField() val cf1 = CustomField()
cf1.id = "1234" cf1.id = cf1Id
cf1.type = CustomField.Type.AMOUNT.ordinal cf1.type = CustomField.Type.AMOUNT.ordinal
val cfe1 = CustomFieldEntry() val cfe1 = CustomFieldEntry()
cfe1.id = "999" cfe1.id = "999"
cf1.entries.add(cfe1) cf1.entries.add(cfe1)
@ -73,13 +75,17 @@ class CustomFieldFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() {
s1.customFieldEntries.add(cfe1) s1.customFieldEntries.add(cfe1)
val s2 = Session.testInstance(100.0, true, Date(), 1) val s2 = Session.testInstance(100.0, true, Date(), 1)
s2.customFieldEntries.add(cfe2) s2.customFieldEntries.add(cfe2)
realm.commitTransaction() s2Id = s2.id
}
val sessions = Filter.queryOn<Session>(realm, Query(QueryCondition.CustomFieldNumberQuery(cf1.id, 100.0))) val condition = QueryCondition.CustomFieldNumberQuery(cf1Id, 100.0)
val sessions = Filter.queryOn<Session>(realm, Query(condition))
Assert.assertEquals(1, sessions.size) Assert.assertEquals(1, sessions.size)
sessions[0]?.run { sessions.first()?.run {
Assert.assertEquals(s2.id, (this).id) Assert.assertEquals(s2Id, this.id)
} }
} }
} }

@ -2,7 +2,6 @@ package net.pokeranalytics.android.model.filter
import android.content.Context import android.content.Context
import io.realm.RealmQuery import io.realm.RealmQuery
import io.realm.kotlin.where
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
import net.pokeranalytics.android.util.NULL_TEXT import net.pokeranalytics.android.util.NULL_TEXT
@ -77,7 +76,7 @@ class Query {
} }
} }
//println("<<<<<< ${realmQuery}") println("<<<<<< ${realmQuery.description}")
val queryLast = this.conditions.filter { val queryLast = this.conditions.filter {
it is QueryCondition.Last it is QueryCondition.Last
}.firstOrNull() }.firstOrNull()

@ -668,6 +668,7 @@ sealed class QueryCondition : FilterElementRow {
realmQuery: RealmQuery<T>, realmQuery: RealmQuery<T>,
otherQueryCondition: QueryCondition? = null otherQueryCondition: QueryCondition? = null
): RealmQuery<T> { ): RealmQuery<T> {
val fieldName = FilterHelper.fieldNameForQueryType<T>(this::class.java) val fieldName = FilterHelper.fieldNameForQueryType<T>(this::class.java)
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
fieldName ?: throw PokerAnalyticsException.QueryValueMapUnknown fieldName ?: throw PokerAnalyticsException.QueryValueMapUnknown

@ -1,7 +1,10 @@
package net.pokeranalytics.android.model.realm package net.pokeranalytics.android.model.realm
import android.content.Context import android.content.Context
import io.realm.* import io.realm.Realm
import io.realm.RealmList
import io.realm.RealmObject
import io.realm.RealmResults
import io.realm.annotations.PrimaryKey import io.realm.annotations.PrimaryKey
import io.realm.kotlin.where import io.realm.kotlin.where
import net.pokeranalytics.android.R import net.pokeranalytics.android.R
@ -41,12 +44,13 @@ open class Filter : RealmObject(), RowRepresentable, Identifiable, Deletable, Co
} }
inline fun <reified T : Filterable> queryOn(realm: Realm, query: Query, sortField: String? = null): RealmResults<T> { inline fun <reified T : Filterable> queryOn(realm: Realm, query: Query, sortField: String? = null): RealmResults<T> {
val realmQuery = realm.where<T>() val rootQuery = realm.where<T>()
var realmQuery = query.queryWith(rootQuery)
sortField?.let { sortField?.let {
return query.queryWith(realmQuery).sort(it).findAll() realmQuery = realmQuery.sort(it)
} ?: run {
return query.queryWith(realmQuery).findAll()
} }
val desc = realmQuery.description
return realmQuery.findAll()
} }
} }

Loading…
Cancel
Save