public async Task DemoBookFileChecksum_ShouldNotChange_WhenLoadAndSave()
{
double fileChecksum = 0;
var subject = CreateSubject(real: true);
LedgerBookDto predeserialiseDto = null;
subject.DtoDeserialised += (s, e) =>
{
fileChecksum = subject.LedgerBookDto.Checksum;
subject.LedgerBookDto.Checksum = -1;
predeserialiseDto = subject.LedgerBookDto;
};
LedgerBookDto reserialisedDto = null;
subject.SaveDtoToDiskOverride = bookDto => reserialisedDto = bookDto;
var book = await subject.LoadAsync(TestDataConstants.DemoLedgerBookFileName, false);
predeserialiseDto.Output(true);
await subject.SaveAsync(book, book.StorageKey, false);
reserialisedDto.Output(true);
Assert.AreEqual(fileChecksum, reserialisedDto.Checksum);
}