|
|
|
|
@ -3,19 +3,18 @@ package net.pokeranalytics.android |
|
|
|
|
import android.content.Context |
|
|
|
|
import androidx.test.core.app.ApplicationProvider |
|
|
|
|
import androidx.test.ext.junit.runners.AndroidJUnit4 |
|
|
|
|
import io.realm.Realm |
|
|
|
|
import io.realm.kotlin.where |
|
|
|
|
import net.pokeranalytics.android.calculus.Calculator |
|
|
|
|
import net.pokeranalytics.android.calculus.ComputableGroup |
|
|
|
|
import net.pokeranalytics.android.calculus.ComputedResults |
|
|
|
|
import net.pokeranalytics.android.calculus.Stat |
|
|
|
|
import net.pokeranalytics.android.model.Limit |
|
|
|
|
import net.pokeranalytics.android.model.realm.* |
|
|
|
|
import net.pokeranalytics.android.model.realm.ComputableResult |
|
|
|
|
import net.pokeranalytics.android.model.realm.Session |
|
|
|
|
import net.pokeranalytics.android.model.realm.SessionSet |
|
|
|
|
import net.pokeranalytics.android.model.utils.Seed |
|
|
|
|
import net.pokeranalytics.android.util.FakeDataManager |
|
|
|
|
import org.junit.Test |
|
|
|
|
import org.junit.runner.RunWith |
|
|
|
|
import timber.log.Timber |
|
|
|
|
import java.util.* |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Instrumented test, which will execute on an Android device. |
|
|
|
|
@ -38,86 +37,10 @@ class PerfsInstrumentedUnitTest : RealmInstrumentedUnitTest() { |
|
|
|
|
Seed(app).execute(realm) |
|
|
|
|
realm.commitTransaction() |
|
|
|
|
|
|
|
|
|
val buyinList = arrayListOf(100.0, 200.0, 300.0, 500.0, 1000.0, 2000.0) |
|
|
|
|
val resultsList = arrayListOf( |
|
|
|
|
-2500.0, -2000.0, -1500.0, -1000.0, -500.0, 200.0, 1000.0, 1500.0, 2500.0 |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
val commitFrequency = 100 |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
val realm = Realm.getDefaultInstance() |
|
|
|
|
val games = realm.where<Game>().findAll() |
|
|
|
|
val bankroll = realm.where<Bankroll>().findAll().firstOrNull() |
|
|
|
|
|
|
|
|
|
// Test endedSessions |
|
|
|
|
val sessions = realm.where<Session>().findAll() |
|
|
|
|
if (sessions.size < 10) { |
|
|
|
|
|
|
|
|
|
val numberOfSessions = 200 |
|
|
|
|
Timber.d("*** Start creating ${numberOfSessions} fake computables...") |
|
|
|
|
|
|
|
|
|
val s = Date() |
|
|
|
|
|
|
|
|
|
realm.beginTransaction() |
|
|
|
|
|
|
|
|
|
for (index in 0..numberOfSessions) { |
|
|
|
|
Timber.d("index: ${index}") |
|
|
|
|
|
|
|
|
|
if (index % commitFrequency == 0) { |
|
|
|
|
Timber.d("****** committing at ${index} computables...") |
|
|
|
|
realm.commitTransaction() |
|
|
|
|
realm.beginTransaction() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
val session = Session.newInstance(realm, false, bankroll) |
|
|
|
|
|
|
|
|
|
val calendar = Calendar.getInstance() |
|
|
|
|
calendar.set( |
|
|
|
|
(2016..2018).random(), |
|
|
|
|
(0..11).random(), |
|
|
|
|
(0..28).random(), |
|
|
|
|
(0..23).random(), |
|
|
|
|
(0..59).random() |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
val startDate = calendar.time |
|
|
|
|
calendar.add(Calendar.HOUR_OF_DAY, (2..12).random()) |
|
|
|
|
calendar.add(Calendar.MINUTE, (0..59).random()) |
|
|
|
|
val endDate = calendar.time |
|
|
|
|
|
|
|
|
|
session.startDate = startDate |
|
|
|
|
session.endDate = endDate |
|
|
|
|
session.creationDate = startDate |
|
|
|
|
|
|
|
|
|
session.limit = Limit.values().random().ordinal |
|
|
|
|
session.game = games.random() |
|
|
|
|
|
|
|
|
|
session.result?.let { result -> |
|
|
|
|
result.buyin = buyinList.random() |
|
|
|
|
result.netResult = resultsList.random() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
Timber.d("Session: ${session.computableResult}") |
|
|
|
|
Timber.d("Session: ${session.result}") |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
realm.commitTransaction() |
|
|
|
|
|
|
|
|
|
val e = Date() |
|
|
|
|
val duration = (e.time - s.time) / 1000.0 |
|
|
|
|
Timber.d("*** ended in ${duration} seconds") |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
realm.close() |
|
|
|
|
|
|
|
|
|
} catch (e: Exception) { |
|
|
|
|
Timber.e(e) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
FakeDataManager.createFakeSessions(2000) {success -> |
|
|
|
|
|
|
|
|
|
if (success) { |
|
|
|
|
|
|
|
|
|
val start = System.currentTimeMillis() |
|
|
|
|
|
|
|
|
|
@ -138,6 +61,11 @@ class PerfsInstrumentedUnitTest : RealmInstrumentedUnitTest() { |
|
|
|
|
val results: ComputedResults = Calculator.compute(group, options) |
|
|
|
|
|
|
|
|
|
Timber.d("*** ended in ${System.currentTimeMillis() - start} milliseconds") |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|