1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-26 17:02:57 +08:00

Rewrite comments further

This commit is contained in:
Bartłomiej Dach 2023-07-01 20:37:33 +02:00
parent 5bd91a531d
commit 1ce60378be
No known key found for this signature in database
3 changed files with 14 additions and 9 deletions

View File

@ -431,7 +431,7 @@ namespace osu.Game.Tests.Database
await createScoreForBeatmap(realm.Realm, imported.Beatmaps.First()); await createScoreForBeatmap(realm.Realm, imported.Beatmaps.First());
//editor work imitation // imitate making local changes via editor
realm.Run(r => realm.Run(r =>
{ {
r.Write(() => r.Write(() =>
@ -442,6 +442,9 @@ namespace osu.Game.Tests.Database
}); });
}); });
// for now, making changes to a beatmap doesn't remove the backlink from the score to the beatmap.
// the logic of ensuring that scores match the beatmap is upheld via comparing the hash in usages (see: https://github.com/ppy/osu/pull/22539).
// TODO: revisit when fixing https://github.com/ppy/osu/issues/24069.
Assert.That(imported.Beatmaps.First().Scores.Any()); Assert.That(imported.Beatmaps.First().Scores.Any());
var importedSecondTime = await importer.Import(new ImportTask(temp)); var importedSecondTime = await importer.Import(new ImportTask(temp));

View File

@ -365,7 +365,7 @@ namespace osu.Game.Tests.Database
string scoreTargetBeatmapHash = string.Empty; string scoreTargetBeatmapHash = string.Empty;
//Set score // set a score on the beatmap
importBeforeUpdate.PerformWrite(s => importBeforeUpdate.PerformWrite(s =>
{ {
var beatmapInfo = s.Beatmaps.First(); var beatmapInfo = s.Beatmaps.First();
@ -375,7 +375,7 @@ namespace osu.Game.Tests.Database
s.Realm.Add(new ScoreInfo(beatmapInfo, s.Realm.All<RulesetInfo>().First(), new RealmUser())); s.Realm.Add(new ScoreInfo(beatmapInfo, s.Realm.All<RulesetInfo>().First(), new RealmUser()));
}); });
//Modify beatmap // locally modify beatmap
const string new_beatmap_hash = "new_hash"; const string new_beatmap_hash = "new_hash";
importBeforeUpdate.PerformWrite(s => importBeforeUpdate.PerformWrite(s =>
{ {
@ -387,10 +387,12 @@ namespace osu.Game.Tests.Database
realm.Run(r => r.Refresh()); realm.Run(r => r.Refresh());
// for now, making changes to a beatmap doesn't remove the backlink from the score to the beatmap.
// the logic of ensuring that scores match the beatmap is upheld via comparing the hash in usages (https://github.com/ppy/osu/pull/22539).
// TODO: revisit when fixing https://github.com/ppy/osu/issues/24069.
checkCount<ScoreInfo>(realm, 1); checkCount<ScoreInfo>(realm, 1);
//second import matches first before modification, // reimport the original beatmap before local modifications
//in other words beatmap version where score have been set
var importAfterUpdate = await importer.ImportAsUpdate(new ProgressNotification(), new ImportTask(pathOnlineCopy), importBeforeUpdate.Value); var importAfterUpdate = await importer.ImportAsUpdate(new ProgressNotification(), new ImportTask(pathOnlineCopy), importBeforeUpdate.Value);
Assert.That(importAfterUpdate, Is.Not.Null); Assert.That(importAfterUpdate, Is.Not.Null);
@ -398,15 +400,15 @@ namespace osu.Game.Tests.Database
realm.Run(r => r.Refresh()); realm.Run(r => r.Refresh());
//account modified beatmap // both original and locally modified versions present
checkCount<BeatmapInfo>(realm, count_beatmaps + 1); checkCount<BeatmapInfo>(realm, count_beatmaps + 1);
checkCount<BeatmapMetadata>(realm, count_beatmaps + 1); checkCount<BeatmapMetadata>(realm, count_beatmaps + 1);
checkCount<BeatmapSetInfo>(realm, 2); checkCount<BeatmapSetInfo>(realm, 2);
// score is transferred across to the new set // score is preserved
checkCount<ScoreInfo>(realm, 1); checkCount<ScoreInfo>(realm, 1);
//score is transferred to new beatmap // score is transferred to new beatmap
Assert.That(importBeforeUpdate.Value.Beatmaps.First(b => b.Hash == new_beatmap_hash).Scores, Has.Count.EqualTo(0)); Assert.That(importBeforeUpdate.Value.Beatmaps.First(b => b.Hash == new_beatmap_hash).Scores, Has.Count.EqualTo(0));
Assert.That(importAfterUpdate.Value.Beatmaps.First(b => b.Hash == scoreTargetBeatmapHash).Scores, Has.Count.EqualTo(1)); Assert.That(importAfterUpdate.Value.Beatmaps.First(b => b.Hash == scoreTargetBeatmapHash).Scores, Has.Count.EqualTo(1));
}); });

View File

@ -206,7 +206,7 @@ namespace osu.Game.Beatmaps
{ {
base.PostImport(model, realm, parameters); base.PostImport(model, realm, parameters);
// Scores are stored separately from beatmaps, and persisted when a beatmap is modified or deleted. // Scores are stored separately from beatmaps, and persist even when a beatmap is modified or deleted.
// Let's reattach any matching scores that exist in the database, based on hash. // Let's reattach any matching scores that exist in the database, based on hash.
foreach (BeatmapInfo beatmap in model.Beatmaps) foreach (BeatmapInfo beatmap in model.Beatmaps)
{ {