public void TestPurgeUnreferenced() { RunTestWithRealm((realmFactory, storage) => { var realm = realmFactory.Context; var files = new RealmFileStore(realmFactory, storage); var file = realm.Write(() => files.Add(new MemoryStream(new byte[] { 0, 1, 2, 3 }), realm)); string path = file.StoragePath; Assert.True(realm.All <RealmFile>().Any()); Assert.True(files.Storage.Exists(path)); files.Cleanup(); Assert.False(realm.All <RealmFile>().Any()); Assert.False(file.IsValid); Assert.False(files.Storage.Exists(path)); }); }
public void TestDontPurgeReferenced() { RunTestWithRealm((realmFactory, storage) => { var realm = realmFactory.Context; var files = new RealmFileStore(realmFactory, storage); var file = realm.Write(() => files.Add(new MemoryStream(new byte[] { 0, 1, 2, 3 }), realm)); var timer = new Stopwatch(); timer.Start(); realm.Write(() => { // attach the file to an arbitrary beatmap var beatmapSet = CreateBeatmapSet(CreateRuleset()); beatmapSet.Files.Add(new RealmNamedFileUsage(file, "arbitrary.resource")); realm.Add(beatmapSet); }); Logger.Log($"Import complete at {timer.ElapsedMilliseconds}"); string path = file.StoragePath; Assert.True(realm.All <RealmFile>().Any()); Assert.True(files.Storage.Exists(path)); files.Cleanup(); Logger.Log($"Cleanup complete at {timer.ElapsedMilliseconds}"); Assert.True(realm.All <RealmFile>().Any()); Assert.True(file.IsValid); Assert.True(files.Storage.Exists(path)); }); }