You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
3.4 KiB
103 lines
3.4 KiB
package net.pokeranalytics.android.model
|
|
|
|
import android.content.Context
|
|
import net.pokeranalytics.android.components.BaseFilterInstrumentedUnitTest
|
|
import net.pokeranalytics.android.model.filter.QueryCondition
|
|
import net.pokeranalytics.android.model.realm.Session
|
|
import org.junit.Assert.assertEquals
|
|
import org.junit.Test
|
|
import java.util.*
|
|
import androidx.test.platform.app.InstrumentationRegistry
|
|
|
|
class CriteriaTest : BaseFilterInstrumentedUnitTest() {
|
|
@Test
|
|
fun getQueryConditions() {
|
|
|
|
val realm = this.mockRealm
|
|
realm.beginTransaction()
|
|
val cal = Calendar.getInstance()
|
|
cal.time = Date()
|
|
val s1 = Session.testInstance(100.0, false, cal.time)
|
|
val firstValue = cal.get(Calendar.YEAR)
|
|
cal.add(Calendar.YEAR, 1)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
cal.add(Calendar.YEAR, -11)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
cal.add(Calendar.YEAR, 7)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
cal.add(Calendar.YEAR, -2)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
cal.add(Calendar.YEAR, 10)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
|
|
val lastValue = firstValue + 5
|
|
|
|
realm.commitTransaction()
|
|
|
|
val yearQueries = Criteria.Years.queryConditions
|
|
|
|
assertEquals(16, yearQueries.size)
|
|
|
|
val firstYearCondition = yearQueries.first().conditions.first() as QueryCondition.AnyYear
|
|
assertEquals(firstValue - 10, firstYearCondition.listOfValues.first())
|
|
|
|
val lastYearCondition = yearQueries.last().conditions.first() as QueryCondition.AnyYear
|
|
assertEquals(lastValue, lastYearCondition.listOfValues.first())
|
|
|
|
|
|
// val years = Criteria.Years.queryConditions as List<QueryCondition.AnyYear>
|
|
// println("years = ${years.map { it.getDisplayName() }}")
|
|
//
|
|
// assertEquals(16, years.size)
|
|
// assertEquals(firstValue-10, years.first().listOfValues.first())
|
|
// assertEquals(lastValue, years.last().listOfValues.first())
|
|
}
|
|
|
|
@Test
|
|
fun combined() {
|
|
|
|
val criterias = listOf(Criteria.MonthsOfYear, Criteria.DaysOfWeek)
|
|
val combined = criterias.combined()
|
|
val context = InstrumentationRegistry.getInstrumentation().context
|
|
|
|
combined.forEach {
|
|
it.conditions.forEach {qc->
|
|
|
|
println(qc.getDisplayName(context))
|
|
}
|
|
}
|
|
}
|
|
|
|
@Test
|
|
fun upToNow() {
|
|
val realm = this.mockRealm
|
|
realm.beginTransaction()
|
|
val cal = Calendar.getInstance()
|
|
cal.time = Date()
|
|
val s1 = Session.testInstance(100.0, false, cal.time)
|
|
cal.add(Calendar.YEAR, 1)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
cal.add(Calendar.YEAR, -11)
|
|
val firstValue = cal.get(Calendar.YEAR)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
cal.add(Calendar.YEAR, 7)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
cal.add(Calendar.YEAR, -2)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
cal.add(Calendar.YEAR, 10)
|
|
Session.testInstance(100.0, true, cal.time)
|
|
|
|
val lastValue = firstValue + 10
|
|
|
|
realm.commitTransaction()
|
|
val context = InstrumentationRegistry.getInstrumentation().context
|
|
|
|
val allMonths = Criteria.AllMonthsUpToNow.queries
|
|
allMonths.forEach {
|
|
it.conditions.forEach { qc->
|
|
println("<<<<< ${qc.getDisplayName(context)}")
|
|
}
|
|
}
|
|
}
|
|
|
|
} |