parent
d82548a503
commit
5f00129787
@ -0,0 +1,75 @@ |
|||||||
|
package net.pokeranalytics.android.unitTests.filter |
||||||
|
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4 |
||||||
|
import io.realm.RealmList |
||||||
|
import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest |
||||||
|
import net.pokeranalytics.android.model.filter.Query |
||||||
|
import net.pokeranalytics.android.model.filter.QueryCondition |
||||||
|
import net.pokeranalytics.android.model.realm.* |
||||||
|
import net.pokeranalytics.android.ui.view.rowrepresentable.FilterSectionRow |
||||||
|
import org.junit.Assert |
||||||
|
import org.junit.Test |
||||||
|
import org.junit.runner.RunWith |
||||||
|
import java.util.* |
||||||
|
|
||||||
|
@RunWith(AndroidJUnit4::class) |
||||||
|
class CustomFieldFilterInstrumentedUnitTest : BaseFilterInstrumentedUnitTest() { |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testCustomFieldListFilter() { |
||||||
|
|
||||||
|
val realm = this.mockRealm |
||||||
|
realm.beginTransaction() |
||||||
|
|
||||||
|
val cf1 = CustomField() |
||||||
|
cf1.type = CustomField.Type.LIST.ordinal |
||||||
|
cf1.addEntry() |
||||||
|
cf1.addEntry() |
||||||
|
cf1.entries.first()?.value = "super" |
||||||
|
cf1.entries.last()?.value = "nul" |
||||||
|
|
||||||
|
val s1 = Session.testInstance(100.0, false, Date(), 1) |
||||||
|
s1.customFieldEntries.add(cf1.entries.first()) |
||||||
|
val s2 = Session.testInstance(100.0, true, Date(), 1) |
||||||
|
s2.customFieldEntries.add(cf1.entries.last()) |
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
val sessions = Filter.queryOn<Session>(realm, Query(QueryCondition.CustomFieldListQuery(cf1.entries.first()!!))) |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.run { |
||||||
|
Assert.assertEquals(s1.id, (this).id) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testCustomFieldAmountFilter() { |
||||||
|
|
||||||
|
val realm = this.mockRealm |
||||||
|
realm.beginTransaction() |
||||||
|
|
||||||
|
val cf1 = CustomField() |
||||||
|
cf1.type = CustomField.Type.AMOUNT.ordinal |
||||||
|
|
||||||
|
val cfe1 = CustomFieldEntry() |
||||||
|
cfe1.customField = cf1 |
||||||
|
cfe1.value = "30.0" |
||||||
|
|
||||||
|
val cfe2 = CustomFieldEntry() |
||||||
|
cfe2.customField = cf1 |
||||||
|
cfe2.value = "100.0" |
||||||
|
|
||||||
|
val s1 = Session.testInstance(100.0, false, Date(), 1) |
||||||
|
s1.customFieldEntries.add(cfe1) |
||||||
|
val s2 = Session.testInstance(100.0, true, Date(), 1) |
||||||
|
s2.customFieldEntries.add(cfe2) |
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
val sessions = Filter.queryOn<Session>(realm, Query(QueryCondition.CustomFieldNumberQuery(cf1.id, 100.0))) |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.run { |
||||||
|
Assert.assertEquals(s2.id, (this).id) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue