public void CfgFileMetadataProgramInformation_SetFeatures_SetsFeatures() { var cfgMetadataInformation = new CfgFileMetadataProgramInformation(null); var testFeatures = ProgramFeatures.DefaultFeatures.Clone(); cfgMetadataInformation.Features = testFeatures; Assert.NotNull(cfgMetadataInformation.Features); Assert.True(object.ReferenceEquals(testFeatures, cfgMetadataInformation.Features)); }
public void CfgFileMetadataProgramInformation_SetYear_SetsYear() { var cfgMetadataInformation = new CfgFileMetadataProgramInformation(null); Assert.Null(cfgMetadataInformation.Year); var testYear = "1987"; cfgMetadataInformation.Year = testYear; Assert.Equal(testYear, cfgMetadataInformation.Year); }
public void CfgFileMetadataProgramInformation_SetVendor_SetsVendor() { var cfgMetadataInformation = new CfgFileMetadataProgramInformation(null); Assert.Null(cfgMetadataInformation.Vendor); var testVendor = "Blue Sky Rangers, Inc."; cfgMetadataInformation.Vendor = testVendor; Assert.Equal(testVendor, cfgMetadataInformation.Vendor); }
public void CfgFileMetadataProgramInformation_SetShortName_SetsShortName() { var cfgMetadataInformation = new CfgFileMetadataProgramInformation(null); Assert.Null(cfgMetadataInformation.ShortName); var testShortName = "Giddyup"; cfgMetadataInformation.ShortName = testShortName; Assert.Equal(testShortName, cfgMetadataInformation.ShortName); }
public void CfgFileMetadataProgramInformation_SetTitle_SetsTitle() { var cfgMetadataInformation = new CfgFileMetadataProgramInformation(null); Assert.Null(cfgMetadataInformation.Title); var testTitle = "Keep 'er movin'"; cfgMetadataInformation.Title = testTitle; Assert.Equal(testTitle, cfgMetadataInformation.Title); }
public void CfgFileMetadataProgramInformation_SetYearToBogusValue_SetsYearToBogusValue() { var cfgMetadataInformation = new CfgFileMetadataProgramInformation(null); Assert.Null(cfgMetadataInformation.Year); var testYear = "Year Zero!"; cfgMetadataInformation.Year = testYear; Assert.Equal(testYear, cfgMetadataInformation.Year); }
public void CfgFileMetadataProgramInformation_CreateUsingRomWithUnknownMetadataBlockType_ContainsValidMetadata() { var romPaths = CfgFileMetadataProgramInformationTestStorageAccess.Initialize(TestRomResources.TestBinPath, TestRomResources.TestCfgMetadataPath); var rom = Rom.AsSpecificRomType <BinFormatRom>(Rom.Create(romPaths[0], romPaths[1])); rom.MetadataCacheEnabled = true; Assert.NotNull(rom.Metadata); var metadata = (List <CfgVarMetadataBlock>)rom.Metadata; metadata.Add(new CfgVarMetadataFeatureCompatibility(CfgVarMetadataIdTag.Invalid)); var cfgMetadataInformation = new CfgFileMetadataProgramInformation(rom); Assert.NotNull(cfgMetadataInformation.Metadata); }
/// <summary> /// Gets IProgramInformation from a .BIN-format file's metadata, if it is available. /// </summary> /// <param name="rom">The ROM from which metadata-based information is retrieved.</param> /// <returns>IProgramInformation retrieved from the .BIN-format ROM's .cfg file.</returns> public static CfgFileMetadataProgramInformation GetBinFileMetadata(this IRom rom) { CfgFileMetadataProgramInformation programInfo = null; var binRom = Rom.AsSpecificRomType <BinFormatRom>(rom); if (binRom != null) { programInfo = new CfgFileMetadataProgramInformation(rom); if (!programInfo.Metadata.Any()) { programInfo = null; } } return(programInfo); }
public void CfgFileMetadataProgramInformation_CreateUsingRomWithZeroSizeJlpFlash_ContainsValidMetadata() { IReadOnlyList <string> romPaths; var storage = CfgFileMetadataProgramInformationTestStorageAccess.Initialize(out romPaths, TestRomResources.TestBinPath, TestRomResources.TestCfgMetadataPath); using (var cfgFile = storage.Open(romPaths[1])) { var cfgContent = "[vars]\njlp=2\njlp_flash=0\n"; var cfgBytes = Encoding.UTF8.GetBytes(cfgContent); cfgFile.Write(cfgBytes, 0, cfgBytes.Length); cfgFile.SetLength(cfgBytes.Length); } var rom = Rom.AsSpecificRomType <BinFormatRom>(Rom.Create(romPaths[0], romPaths[1])); rom.MetadataCacheEnabled = true; Assert.NotNull(rom.Metadata); var cfgMetadataInformation = new CfgFileMetadataProgramInformation(rom); Assert.NotNull(cfgMetadataInformation.Metadata); Assert.Equal((ushort)0, cfgMetadataInformation.Features.JlpFlashMinimumSaveSectors); }
public void CfgFileMetadataProgramInformation_AddCrc_ThrowsInvalidOperationException() { var cfgMetadataInformation = new CfgFileMetadataProgramInformation(null); Assert.Throws <InvalidOperationException>(() => cfgMetadataInformation.AddCrc(0u, null, IncompatibilityFlags.None)); }