Preserve damaged backup evidence across later saves
This commit is contained in:
@@ -75,6 +75,18 @@ namespace MagnetismHeroes.Tests
|
||||
Assert.That(Directory.GetFiles(_directory, "*.damaged-*").Select(File.ReadAllText), Does.Contain("broken-primary"));
|
||||
Assert.That(File.ReadAllText(_path + ".bak"), Is.EqualTo("broken-backup"));
|
||||
}
|
||||
[Test] public void BothDamagedOriginalsSurviveTwoSubsequentSuccessfulWrites()
|
||||
{
|
||||
File.WriteAllText(_path, "distinct-broken-primary"); File.WriteAllText(_path + ".bak", "distinct-broken-backup");
|
||||
var store = Store(); Assert.That(store.TryLoad(out _, out _), Is.False);
|
||||
Assert.That(store.TrySave(new ProgressSave(), out var error), Is.True, error);
|
||||
Assert.That(store.TrySave(Puzzle(), out error), Is.True, error);
|
||||
var forensic = Directory.GetFiles(_directory, "*.damaged-*").Select(File.ReadAllText).ToArray();
|
||||
Assert.That(forensic, Does.Contain("distinct-broken-primary"));
|
||||
Assert.That(forensic, Does.Contain("distinct-broken-backup"));
|
||||
Assert.That(store.TryLoad(out var restored, out error), Is.True, error);
|
||||
Assert.That(restored.puzzleStates.Single().stageId, Is.EqualTo(1));
|
||||
}
|
||||
[Test] public void InvalidGroupMembershipDoesNotReplaceAValidSave()
|
||||
{
|
||||
var store = Store(); var progress = Puzzle(); Assert.That(store.TrySave(progress, out _), Is.True);
|
||||
|
||||
Reference in New Issue
Block a user