public void AlternateRom_ChangeAlternateCfgPath_RefreshCfgCrcChangesCrc() { IReadOnlyList <string> paths; var storageAccess = AlternateRomTestStorageAccess.Initialize(out paths, TestRomResources.TestBinPath, TestRomResources.TestCfgPath); var alternateBinPath = paths[0]; var alternateCfgPath = paths[1]; var alternate = new AlternateRom(alternateBinPath, alternateCfgPath, null); Assert.NotNull(alternate); Assert.True(alternate.IsValid); Assert.Equal(TestRomResources.TestCfgCrc, alternate.CfgCrc); using (var cfgStream = storageAccess.Open(alternateCfgPath)) { cfgStream.Seek(0, System.IO.SeekOrigin.End); var cfgToAppend = @" [vars] name = ""Weener Weener Cheekeen Deeener"" "; 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 = alternate.RefreshCfgCrc(out cfgCrcChanged); Assert.True(cfgCrcChanged); Assert.NotEqual(TestRomResources.TestCfgCrc, cfgCrc); Assert.Equal(cfgCrc, alternate.CfgCrc); Assert.Equal(cfgCrc, alternate.Alternate.CfgCrc); Assert.Equal("Weener Weener Cheekeen Deeener", alternate.GetBinFileMetadata().LongNames.First()); }