public void XmlRom_SetToValidBinThenModifyCfg_RefreshCfgCrcChanges() { IReadOnlyList <string> paths; var storageAccess = XmlFormatRomTestStorageAccess.Initialize(out paths, TestRomResources.TestBinPath, TestRomResources.TestCfgPath); var testCfgToModifyPath = paths[1]; var rom = new XmlRom(); rom.UpdateRomPath(paths[0]); rom.UpdateConfigPath(testCfgToModifyPath); Assert.True(rom.IsValid); Assert.NotNull(rom.ResolvedRom); Assert.Equal(RomFormat.Bin, rom.Format); Assert.Equal(paths[0], rom.RomPath); Assert.Equal(testCfgToModifyPath, rom.ConfigPath); Assert.Equal(TestRomResources.TestBinCrc, rom.Crc); Assert.Equal(TestRomResources.TestCfgCrc, rom.CfgCrc); using (var cfgStream = storageAccess.Open(testCfgToModifyPath)) { cfgStream.Seek(0, System.IO.SeekOrigin.End); var cfgToAppend = @" [vars] name = ""wut?"" "; var cfgDataToAppend = System.Text.Encoding.UTF8.GetBytes(cfgToAppend); cfgStream.Write(cfgDataToAppend, 0, cfgDataToAppend.Length); cfgStream.Seek(0, System.IO.SeekOrigin.Begin); } var cfgCrcChanged = false; var cfgCrc = rom.RefreshCfgCrc(out cfgCrcChanged); Assert.True(cfgCrcChanged); Assert.NotEqual(TestRomResources.TestCfgCrc, cfgCrc); Assert.Equal("wut?", rom.GetBinFileMetadata().LongNames.First()); }