BeatmapSetInfo detach support

This commit is contained in:
Dean Herbert
2022-01-07 14:17:22 +09:00
parent de076678fe
commit 8461eaab46
10 changed files with 90 additions and 10 deletions

View File

@ -35,6 +35,51 @@ namespace osu.Game.Tests.Database
[TestFixture]
public class BeatmapImporterTests : RealmTest
{
[Test]
public void TestDetach()
{
RunTestWithRealmAsync(async (realmFactory, storage) =>
{
using (var importer = new BeatmapModelManager(realmFactory, storage))
using (new RulesetStore(realmFactory, storage))
{
ILive<BeatmapSetInfo>? imported;
using (var reader = new ZipArchiveReader(TestResources.GetTestBeatmapStream()))
imported = await importer.Import(reader);
Assert.NotNull(imported);
Debug.Assert(imported != null);
BeatmapSetInfo? detached = null;
imported.PerformRead(live =>
{
var timer = new Stopwatch();
timer.Start();
detached = live.Detach();
Logger.Log($"Detach took {timer.ElapsedMilliseconds} ms");
Logger.Log($"NamedFiles: {live.Files.Count} {detached.Files.Count}");
Logger.Log($"Files: {live.Files.Select(f => f.File).Count()} {detached.Files.Select(f => f.File).Count()}");
Logger.Log($"Difficulties: {live.Beatmaps.Count} {detached.Beatmaps.Count}");
Logger.Log($"BeatmapDifficulties: {live.Beatmaps.Select(f => f.Difficulty).Count()} {detached.Beatmaps.Select(f => f.Difficulty).Count()}");
Logger.Log($"Metadata: {live.Metadata} {detached.Metadata}");
});
Logger.Log("Testing detached-ness");
Debug.Assert(detached != null);
Logger.Log($"NamedFiles: {detached.Files.Count}");
Logger.Log($"Files: {detached.Files.Select(f => f.File).Count()}");
Logger.Log($"Difficulties: {detached.Beatmaps.Count}");
Logger.Log($"BeatmapDifficulties: {detached.Beatmaps.Select(f => f.Difficulty).Count()}");
Logger.Log($"Metadata: {detached.Metadata}");
}
});
}
[Test]
public void TestImportBeatmapThenCleanup()
{