add new testUpdateRatedNetResultSessions unit test

feature/top10
Razmig Sarkissian 7 years ago
parent f2fe55fcb5
commit 1cfd5c4b56
  1. 77
      app/src/androidTest/java/net/pokeranalytics/android/unitTests/StatsInstrumentedUnitTest.kt

@ -26,7 +26,7 @@ import java.util.*
class StatsInstrumentedUnitTest : RealmInstrumentedUnitTest() { class StatsInstrumentedUnitTest : RealmInstrumentedUnitTest() {
// convenience extension // convenience extension
fun Session.Companion.testInstance( private fun Session.Companion.testInstance(
netResult: Double = 0.0, netResult: Double = 0.0,
isTournament: Boolean = false, isTournament: Boolean = false,
startDate: Date = Date(), startDate: Date = Date(),
@ -64,20 +64,19 @@ class StatsInstrumentedUnitTest : RealmInstrumentedUnitTest() {
for (index in 0..100) { for (index in 0..100) {
Session.testInstance((-2000..2000).random().toDouble()) Session.testInstance((-2000..2000).random().toDouble())
println("*** creating ${index}") println("*** creating $index")
} }
realm.commitTransaction() realm.commitTransaction()
var d1 = Date() val d1 = Date()
var result = realm.where(Result::class.java).sum("netResult") realm.where(Result::class.java).sum("netResult")
var d2 = Date()
val d2 = Date()
val duration = (d2.time - d1.time) val duration = (d2.time - d1.time)
println("*** ended in ${duration} milliseconds") println("*** ended in $duration milliseconds")
} }
@Test @Test
fun testSessionStats() { fun testSessionStats() {
@ -664,4 +663,66 @@ class StatsInstrumentedUnitTest : RealmInstrumentedUnitTest() {
Assert.assertEquals(250.0, netResult?.value) Assert.assertEquals(250.0, netResult?.value)
} }
@Test
fun testUpdateRatedNetResultSessions() {
val realm = this.mockRealm
realm.beginTransaction()
val s1 = newSessionInstance(realm)
val s2 = newSessionInstance(realm)
val b1 = realm.createObject(Bankroll::class.java, "1")
val b2 = realm.createObject(Bankroll::class.java, "2")
val c1 = realm.createObject(Currency::class.java, "1")
val c2 = realm.createObject(Currency::class.java, "2")
c1.rate = 0.5
c2.rate = 1.0
b1.currency = c1
b2.currency = c2
s1.bankroll = b1
s2.bankroll = b2
s1.result?.netResult = 100.0
s2.result?.netResult = 200.0
realm.insert(s1)
realm.insert(s2)
realm.copyToRealmOrUpdate(s1)
realm.copyToRealmOrUpdate(s2)
realm.commitTransaction()
val computableResults = realm.where(ComputableResult::class.java).findAll()
val sets = realm.where(SessionSet::class.java).findAll()
val stats: List<Stat> = listOf(Stat.NETRESULT)
val group = ComputableGroup("test", computableResults, sets, stats)
val options = Calculator.Options()
val results: ComputedResults = Calculator.compute(group, options)
val netResult = results.computedStat(Stat.NETRESULT)
Assert.assertEquals(250.0, netResult?.value)
println("currency set rate real test starts here")
val updatedC2 = realm.where(Currency::class.java).equalTo("id", "2").findFirst()
updatedC2?.let {currency ->
val newC2 = realm.copyFromRealm(currency)
newC2.rate = 3.0
realm.executeTransaction {
it.copyToRealmOrUpdate(newC2)
}
}
val updatedComputableResults = realm.where(ComputableResult::class.java).findAll()
val updatedSets = realm.where(SessionSet::class.java).findAll()
val updatedGroup = ComputableGroup("test", updatedComputableResults, updatedSets, stats)
val updatedResults: ComputedResults = Calculator.compute(updatedGroup, options)
val updatedNetResult = updatedResults.computedStat(Stat.NETRESULT)
Assert.assertEquals(650.0, updatedNetResult?.value)
}
} }
Loading…
Cancel
Save