parent
179ebe9153
commit
8cf24ba690
@ -0,0 +1,290 @@ |
|||||||
|
package net.pokeranalytics.android |
||||||
|
|
||||||
|
import androidx.test.ext.junit.runners.AndroidJUnit4 |
||||||
|
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.Session |
||||||
|
import org.junit.Assert |
||||||
|
import org.junit.Test |
||||||
|
import org.junit.runner.RunWith |
||||||
|
import java.util.* |
||||||
|
|
||||||
|
@RunWith(AndroidJUnit4::class) |
||||||
|
class FilterInstrumentedUnitTest : RealmInstrumentedUnitTest() { |
||||||
|
|
||||||
|
@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 |
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
val sessions = FilterManager().filter( |
||||||
|
realm, |
||||||
|
Session::class.java, |
||||||
|
arrayListOf(SessionFilterable.CASH) |
||||||
|
) as RealmResults<Session> |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.run { |
||||||
|
Assert.assertEquals(Session.Type.CASH_GAME.ordinal, this.type) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testTournamentFilter() { |
||||||
|
|
||||||
|
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 |
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
val sessions = FilterManager().filter( |
||||||
|
realm, |
||||||
|
Session::class.java, |
||||||
|
arrayListOf(SessionFilterable.CASH) |
||||||
|
) as RealmResults<Session> |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.run { |
||||||
|
Assert.assertEquals(Session.Type.TOURNAMENT.ordinal, this.type) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testLiveFilter() { |
||||||
|
|
||||||
|
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 = true |
||||||
|
b2.live = false |
||||||
|
|
||||||
|
s1.bankroll = b1 |
||||||
|
s2.bankroll = b2 |
||||||
|
|
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
val sessions = FilterManager().filter( |
||||||
|
realm, |
||||||
|
Session::class.java, |
||||||
|
arrayListOf(SessionFilterable.LIVE) |
||||||
|
) as RealmResults<Session> |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.bankroll?.run { |
||||||
|
Assert.assertEquals(true, this.live) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testOnlineFilter() { |
||||||
|
|
||||||
|
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 |
||||||
|
|
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
val sessions = FilterManager().filter( |
||||||
|
realm, |
||||||
|
Session::class.java, |
||||||
|
arrayListOf(SessionFilterable.ONLINE) |
||||||
|
) as RealmResults<Session> |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.bankroll?.run { |
||||||
|
Assert.assertEquals(false, this.live) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testStartedFomDateFilter() { |
||||||
|
|
||||||
|
val realm = this.mockRealm |
||||||
|
|
||||||
|
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 |
||||||
|
|
||||||
|
|
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
var filter = SessionFilterable.STARTED_FROM_DATE |
||||||
|
filter.valueMap = mapOf("date" to s2.startDate) |
||||||
|
|
||||||
|
val sessions = FilterManager().filter( |
||||||
|
realm, |
||||||
|
Session::class.java, |
||||||
|
arrayListOf(filter) |
||||||
|
) as RealmResults<Session> |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.run { |
||||||
|
Assert.assertEquals("2", this.id) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testStartedToDateFilter() { |
||||||
|
|
||||||
|
val realm = this.mockRealm |
||||||
|
|
||||||
|
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 |
||||||
|
|
||||||
|
|
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
var filter = SessionFilterable.STARTED_TO_DATE |
||||||
|
filter.valueMap = mapOf("date" to s1.startDate) |
||||||
|
|
||||||
|
val sessions = FilterManager().filter( |
||||||
|
realm, |
||||||
|
Session::class.java, |
||||||
|
arrayListOf(filter) |
||||||
|
) as RealmResults<Session> |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.run { |
||||||
|
Assert.assertEquals("1", this.id) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testEndedFomDateFilter() { |
||||||
|
|
||||||
|
val realm = this.mockRealm |
||||||
|
|
||||||
|
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 |
||||||
|
|
||||||
|
|
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
var filter = SessionFilterable.ENDED_FROM_DATE |
||||||
|
filter.valueMap = mapOf("date" to s2.endDate) |
||||||
|
|
||||||
|
val sessions = FilterManager().filter( |
||||||
|
realm, |
||||||
|
Session::class.java, |
||||||
|
arrayListOf(filter) |
||||||
|
) as RealmResults<Session> |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.run { |
||||||
|
Assert.assertEquals("2", this.id) |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
@Test |
||||||
|
fun testEndedToDateFilter() { |
||||||
|
|
||||||
|
val realm = this.mockRealm |
||||||
|
|
||||||
|
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 |
||||||
|
|
||||||
|
|
||||||
|
realm.commitTransaction() |
||||||
|
|
||||||
|
var filter = SessionFilterable.ENDED_TO_DATE |
||||||
|
filter.valueMap = mapOf("date" to s1.endDate) |
||||||
|
|
||||||
|
val sessions = FilterManager().filter( |
||||||
|
realm, |
||||||
|
Session::class.java, |
||||||
|
arrayListOf(filter) |
||||||
|
) as RealmResults<Session> |
||||||
|
|
||||||
|
Assert.assertEquals(1, sessions.size) |
||||||
|
sessions[0]?.run { |
||||||
|
Assert.assertEquals("1", this.id) |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue