|
|
|
@ -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) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |