public void FixModel_ApplyFix() { // Arrange DummyFixModel dummy = InitializeDummyFixModel(); // Act dummy.ApplyFix(dummy); // Assert byte[] actual = dummy.FileSystem.ReadAllBytes("index.html"); byte[] expected = File.ReadAllBytes(@"TestData\FixModel\index_fixed.html"); actual.Should().Equal(expected); dummy.FixLedger.Count.Should().Be(1); SortedList <int, int> offsets = dummy.FixLedger[dummy.FileChanges[0].FilePath.ToLower()].Offsets; offsets.Count.Should().Be(3); offsets.Keys[0].Should().Be(191); offsets.Keys[1].Should().Be(199); offsets.Keys[2].Should().Be(233); offsets[191].Should().Be(1); offsets[199].Should().Be(1); offsets[233].Should().Be(0); }
private DummyFixModel InitializeDummyFixModel() { var fileSystem = new DummyFileSystem(); fileSystem.WriteAllBytes("index.html", File.ReadAllBytes(@"TestData\FixModel\index.html")); var fixModel = new DummyFixModel("Test dummy", fileSystem); var replacements = new List <ReplacementModel>(); replacements.Add(new ReplacementModel() { Offset = 191, DeletedLength = 0, InsertedString = "\"" }); replacements.Add(new ReplacementModel() { Offset = 199, DeletedLength = 0, InsertedString = "\"" }); replacements.Add(new ReplacementModel() { Offset = 233, DeletedLength = 3, InsertedString = "img" }); replacements.ForEach(rm => rm.InsertedBytes = Encoding.UTF8.GetBytes(rm.InsertedString)); var changeModel = new FileChangeModel() { FilePath = @"C:\source\index.html" }; replacements.ForEach(r => changeModel.Replacements.Add(r)); fixModel.FileChanges.Add(changeModel); return(fixModel); }