public void ProgramDescription_GetRomWhenRomPathsInvalidAndAlternatePathsFound_ReturnsAlternateRom() { var alternatePaths = ProgramDescriptionHelpersTestStorage.Initialize(TestRomResources.TestBinPath, TestRomResources.TestCfgPath); var rom = new XmlRom(); rom.UpdateRomPath("/fleery/beery/neery.bin"); rom.UpdateConfigPath("/fleery/beery/neery.cfg"); var supportFiles = new ProgramSupportFiles(rom); supportFiles.AddSupportFile(ProgramFileKind.Rom, "/grab.bin"); supportFiles.AddSupportFile(ProgramFileKind.Rom, alternatePaths[0]); supportFiles.AddSupportFile(ProgramFileKind.Rom, "/barg.bin"); supportFiles.AddSupportFile(ProgramFileKind.CfgFile, "/grab.cfg"); supportFiles.AddSupportFile(ProgramFileKind.CfgFile, alternatePaths[1]); supportFiles.AddSupportFile(ProgramFileKind.CfgFile, "/barg.cfg"); var description = CreateProgramDescription(0x246u, rom); description.Files = supportFiles; var romFromDescription = description.GetRom(); Assert.False(object.ReferenceEquals(rom, romFromDescription)); Assert.Equal(alternatePaths[0], romFromDescription.RomPath); Assert.Equal(alternatePaths[1], romFromDescription.ConfigPath); }
public void ProgramDescription_RomIsNullSetProgramSupportFilesWithNullRom_UpdatesFilesAndLeavesRomUnchanged() { var information = new TestProgramInformation(); var crc = 1u; information.AddCrc(crc); var description = new ProgramDescription(crc, null, information); var newFiles = new ProgramSupportFiles(null); description.Files = newFiles; Assert.Null(description.Rom); Assert.True(object.ReferenceEquals(newFiles, description.Files)); }
public void ProgramDescription_GetRomWhenRomAndCfgPathsInvalidAndUnbalancedAlternatePaths_ThrowsInvalidOperationException() { ProgramDescriptionHelpersTestStorage.Initialize(); var rom = new XmlRom(); rom.UpdateRomPath("/fleggy/beggy/neggy.bin"); rom.UpdateConfigPath("/fleggy/beggy/neggy.cfg"); var supportFiles = new ProgramSupportFiles(rom); supportFiles.AddSupportFile(ProgramFileKind.Rom, "/biff!"); var description = CreateProgramDescription(0x654u, rom); description.Files = supportFiles; var exception = Assert.Throws <InvalidOperationException>(() => description.GetRom()); Assert.Equal(Resources.Strings.ProgramDescription_MissingAlternateCfgFile, exception.Message); }
public void ProgramDescription_ValidRomSetProgramSupportFilesWithNullRom_UpdatesFilesAndLeavesRomUnchanged() { var romPath = ProgramDescriptionTestStorage.Initialize(TestRomResources.TestRomPath).First(); var rom = Rom.Create(romPath, null); Assert.NotNull(rom); var information = new TestProgramInformation(); var crc = rom.Crc; information.AddCrc(crc); var description = new ProgramDescription(crc, rom, information); var newFiles = new ProgramSupportFiles(null); description.Files = newFiles; Assert.True(object.ReferenceEquals(rom, description.Rom)); Assert.True(object.ReferenceEquals(newFiles, description.Files)); }
public void ProgramDescription_GetRomWhenRomAndCfgPathsInvalidAndAlternatePathsNotFound_ReturnsOriginalRom() { ProgramDescriptionHelpersTestStorage.Initialize(); var rom = new XmlRom(); rom.UpdateRomPath("/flooty/booty/nooty.bin"); rom.UpdateConfigPath("/flooty/booty/nooty.cfg"); var supportFiles = new ProgramSupportFiles(rom); supportFiles.AddSupportFile(ProgramFileKind.Rom, "/banff.bin"); supportFiles.AddSupportFile(ProgramFileKind.Rom, "/barff.bin"); supportFiles.AddSupportFile(ProgramFileKind.CfgFile, "/banff.cfg"); supportFiles.AddSupportFile(ProgramFileKind.CfgFile, "/barff.cfg"); var description = CreateProgramDescription(0x321u, rom); description.Files = supportFiles; Assert.True(object.ReferenceEquals(rom, description.GetRom())); }
public void ProgramDescription_GetRomWhenRomPathInvalidAndAlternatePathFound_ReturnsAlternateRom() { var alternatePath = ProgramDescriptionHelpersTestStorage.Initialize(TestRomResources.TestCc3Path).First(); var rom = new XmlRom(); rom.UpdateRomPath("/floory/boory/noory.rom"); var supportFiles = new ProgramSupportFiles(rom); supportFiles.AddSupportFile(ProgramFileKind.Rom, "/grub.bin"); supportFiles.AddSupportFile(ProgramFileKind.Rom, alternatePath); supportFiles.AddSupportFile(ProgramFileKind.Rom, "/burg.bin"); var description = CreateProgramDescription(0x135u, rom); description.Files = supportFiles; var romFromDescription = description.GetRom(); Assert.False(object.ReferenceEquals(rom, romFromDescription)); Assert.Equal(alternatePath, romFromDescription.RomPath); }
private void VerifyProgramSupportFiles(ProgramSupportFiles files0, ProgramSupportFiles files1) { Assert.Equal(files0.Rom, files1.Rom); Assert.Equal(files0.RomImagePath, files1.RomImagePath); Assert.Equal(files0.RomConfigurationFilePath, files1.RomConfigurationFilePath); Assert.Equal(files0.AlternateRomImagePaths, files1.AlternateRomImagePaths); Assert.Equal(files0.AlternateRomConfigurationFilePaths, files1.AlternateRomConfigurationFilePaths); Assert.Equal(files0.BoxImagePaths, files1.BoxImagePaths); Assert.Equal(files0.OverlayImagePaths, files1.OverlayImagePaths); Assert.Equal(files0.ManualCoverImagePaths, files1.ManualCoverImagePaths); Assert.Equal(files0.LabelImagePaths, files1.LabelImagePaths); Assert.Equal(files0.ManualPaths, files1.ManualPaths); Assert.Equal(files0.SaveDataPaths, files1.SaveDataPaths); Assert.Equal(files0.DefaultBoxImagePath, files1.DefaultBoxImagePath); Assert.Equal(files0.DefaultOverlayImagePath, files1.DefaultOverlayImagePath); Assert.Equal(files0.DefaultManualImagePath, files1.DefaultManualImagePath); Assert.Equal(files0.DefaultLabelImagePath, files1.DefaultLabelImagePath); Assert.Equal(files0.DefaultManualTextPath, files1.DefaultManualTextPath); Assert.Equal(files0.DefaultSaveDataPath, files1.DefaultSaveDataPath); Assert.Equal(files0.DefaultLtoFlashDataPath, files1.DefaultLtoFlashDataPath); Assert.Equal(files0.DefaultVignettePath, files1.DefaultVignettePath); Assert.Equal(files0.DefaultReservedDataPath, files1.DefaultReservedDataPath); }