BudgetAnalyser.Engine.UnitTest.Ledger.LedgerBookRepositoryTest.SavingAndLoading_ShouldProduceTheSameCheckSum C# (CSharp) Метод

SavingAndLoading_ShouldProduceTheSameCheckSum() приватный Метод

private SavingAndLoading_ShouldProduceTheSameCheckSum ( ) : System.Threading.Tasks.Task
Результат System.Threading.Tasks.Task
        public async Task SavingAndLoading_ShouldProduceTheSameCheckSum()
        {
            var subject1 = CreateSubject();
            
            await subject1.SaveAsync(LedgerBookTestData.TestData2(), "Foo2.xml", false);
            var serialisedData = subject1.SerialisedData;

            Debug.WriteLine("Saved / Serialised Xml:");
            Debug.WriteLine(serialisedData);

            LedgerBookDto bookDto;
            var subject2 = CreateSubject();
            subject2.FileExistsOverride = f => true;
            subject2.LoadXamlFromDiskFromEmbeddedResources = false;
            this.mockReaderWriter.Setup(m => m.LoadFromDiskAsync(It.IsAny<string>())).ReturnsAsync(serialisedData);
            await subject2.LoadAsync("foo", false);
            bookDto = subject2.LedgerBookDto;

            int checksumPosition = serialisedData.IndexOf("CheckSum=\"", StringComparison.OrdinalIgnoreCase);
            int checksumLength = serialisedData.IndexOf('"', checksumPosition + 11) - checksumPosition;
            string serialisedCheckSum = serialisedData.Substring(checksumPosition + 10, checksumLength - 10);

            Assert.AreEqual(double.Parse(serialisedCheckSum), bookDto.Checksum);
        }