protected void RunTestWithRealmAsync(Func <RealmAccess, Storage, Task> testAction, [CallerMemberName] string caller = "") { using (HeadlessGameHost host = new CleanRunHeadlessGameHost(callingMethodName: caller)) { host.Run(new RealmTestGame(async() => { var testStorage = storage.GetStorageForDirectory(caller); using (var realm = new RealmAccess(testStorage, OsuGameBase.CLIENT_DATABASE_FILENAME)) { Logger.Log($"Running test using realm file {testStorage.GetFullPath(realm.Filename)}"); await testAction(realm, testStorage); realm.Dispose(); Logger.Log($"Final database size: {getFileSize(testStorage, realm)}"); realm.Compact(); } })); } }
protected void RunTestWithRealm(Action <RealmAccess, OsuStorage> testAction, [CallerMemberName] string caller = "") { using (HeadlessGameHost host = new CleanRunHeadlessGameHost(callingMethodName: caller)) { host.Run(new RealmTestGame(() => { // ReSharper disable once AccessToDisposedClosure var testStorage = new OsuStorage(host, storage.GetStorageForDirectory(caller)); using (var realm = new RealmAccess(testStorage, OsuGameBase.CLIENT_DATABASE_FILENAME)) { Logger.Log($"Running test using realm file {testStorage.GetFullPath(realm.Filename)}"); testAction(realm, testStorage); realm.Dispose(); Logger.Log($"Final database size: {getFileSize(testStorage, realm)}"); realm.Compact(); Logger.Log($"Final database size after compact: {getFileSize(testStorage, realm)}"); } })); } }