From f2fe55fcb50bcbac927d39dc25f25ff45e96dc57 Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Tue, 26 Mar 2019 14:57:27 +0100 Subject: [PATCH] add a small rated net unit test --- .../unitTests/StatsInstrumentedUnitTest.kt | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/StatsInstrumentedUnitTest.kt b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/StatsInstrumentedUnitTest.kt index 3c9c7b11..19369996 100644 --- a/app/src/androidTest/java/net/pokeranalytics/android/unitTests/StatsInstrumentedUnitTest.kt +++ b/app/src/androidTest/java/net/pokeranalytics/android/unitTests/StatsInstrumentedUnitTest.kt @@ -9,6 +9,7 @@ import net.pokeranalytics.android.calculus.ComputableGroup import net.pokeranalytics.android.calculus.ComputedResults import net.pokeranalytics.android.calculus.Stat import net.pokeranalytics.android.model.realm.* +import net.pokeranalytics.android.model.realm.Currency import org.junit.Assert import org.junit.Assert.assertEquals import org.junit.Test @@ -619,4 +620,48 @@ class StatsInstrumentedUnitTest : RealmInstrumentedUnitTest() { } + + @Test + fun testRatedNetResultSessions() { + + 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 = 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) + } + } \ No newline at end of file