RomProperties, no, not that one

This commit is contained in:
Matt Nadareski
2026-04-04 22:31:23 -04:00
parent 0b99602bc7
commit e31be83832
78 changed files with 4187 additions and 3408 deletions

View File

@@ -1025,102 +1025,102 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateMetadataRom(Data.Models.Metadata.Rom? rom)
{
Assert.NotNull(rom);
Assert.Equal("album", rom.ReadString(Data.Models.Metadata.Rom.AlbumKey));
Assert.Equal("alt_romname", rom.ReadString(Data.Models.Metadata.Rom.AltRomnameKey));
Assert.Equal("alt_title", rom.ReadString(Data.Models.Metadata.Rom.AltTitleKey));
Assert.Equal("artist", rom.ReadString(Data.Models.Metadata.Rom.ArtistKey));
Assert.Equal("asr_detected_lang", rom.ReadString(Data.Models.Metadata.Rom.ASRDetectedLangKey));
Assert.Equal("asr_detected_lang_conf", rom.ReadString(Data.Models.Metadata.Rom.ASRDetectedLangConfKey));
Assert.Equal("asr_transcribed_lang", rom.ReadString(Data.Models.Metadata.Rom.ASRTranscribedLangKey));
Assert.Equal("bios", rom.ReadString(Data.Models.Metadata.Rom.BiosKey));
Assert.Equal("bitrate", rom.ReadString(Data.Models.Metadata.Rom.BitrateKey));
Assert.Equal("btih", rom.ReadString(Data.Models.Metadata.Rom.BitTorrentMagnetHashKey));
Assert.Equal("cloth_cover_detection_module_version", rom.ReadString(Data.Models.Metadata.Rom.ClothCoverDetectionModuleVersionKey));
Assert.Equal("collection-catalog-number", rom.ReadString(Data.Models.Metadata.Rom.CollectionCatalogNumberKey));
Assert.Equal("comment", rom.ReadString(Data.Models.Metadata.Rom.CommentKey));
Assert.Equal(HashType.CRC32.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRCKey));
Assert.Equal(HashType.CRC16.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC16Key));
Assert.Equal(HashType.CRC64.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC64Key));
Assert.Equal("creator", rom.ReadString(Data.Models.Metadata.Rom.CreatorKey));
Assert.Equal("date", rom.ReadString(Data.Models.Metadata.Rom.DateKey));
Assert.Equal("album", rom.Album);
Assert.Equal("alt_romname", rom.AltRomname);
Assert.Equal("alt_title", rom.AltTitle);
Assert.Equal("artist", rom.Artist);
Assert.Equal("asr_detected_lang", rom.ASRDetectedLang);
Assert.Equal("asr_detected_lang_conf", rom.ASRDetectedLangConf);
Assert.Equal("asr_transcribed_lang", rom.ASRTranscribedLang);
Assert.Equal("bios", rom.Bios);
Assert.Equal("bitrate", rom.Bitrate);
Assert.Equal("btih", rom.BitTorrentMagnetHash);
Assert.Equal("cloth_cover_detection_module_version", rom.ClothCoverDetectionModuleVersion);
Assert.Equal("collection-catalog-number", rom.CollectionCatalogNumber);
Assert.Equal("comment", rom.Comment);
Assert.Equal(HashType.CRC32.ZeroString, rom.CRC);
Assert.Equal(HashType.CRC16.ZeroString, rom.CRC16);
Assert.Equal(HashType.CRC64.ZeroString, rom.CRC64);
Assert.Equal("creator", rom.Creator);
Assert.Equal("date", rom.Date);
Assert.True(rom.Dispose);
Assert.Equal("extension", rom.ReadString(Data.Models.Metadata.Rom.ExtensionKey));
Assert.Equal("extension", rom.Extension);
Assert.Equal(12345, rom.FileCount);
Assert.True(rom.FileIsAvailable);
Assert.Equal("flags", rom.ReadString(Data.Models.Metadata.Rom.FlagsKey));
Assert.Equal("format", rom.ReadString(Data.Models.Metadata.Rom.FormatKey));
Assert.Equal("header", rom.ReadString(Data.Models.Metadata.Rom.HeaderKey));
Assert.Equal("height", rom.ReadString(Data.Models.Metadata.Rom.HeightKey));
Assert.Equal("hocr_char_to_word_hocr_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRCharToWordhOCRVersionKey));
Assert.Equal("hocr_char_to_word_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRCharToWordModuleVersionKey));
Assert.Equal("hocr_fts_text_hocr_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRFtsTexthOCRVersionKey));
Assert.Equal("hocr_fts_text_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRFtsTextModuleVersionKey));
Assert.Equal("hocr_pageindex_hocr_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey));
Assert.Equal("hocr_pageindex_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRPageIndexModuleVersionKey));
Assert.Equal("flags", rom.Flags);
Assert.Equal("format", rom.Format);
Assert.Equal("header", rom.Header);
Assert.Equal("height", rom.Height);
Assert.Equal("hocr_char_to_word_hocr_version", rom.hOCRCharToWordhOCRVersion);
Assert.Equal("hocr_char_to_word_module_version", rom.hOCRCharToWordModuleVersion);
Assert.Equal("hocr_fts_text_hocr_version", rom.hOCRFtsTexthOCRVersion);
Assert.Equal("hocr_fts_text_module_version", rom.hOCRFtsTextModuleVersion);
Assert.Equal("hocr_pageindex_hocr_version", rom.hOCRPageIndexhOCRVersion);
Assert.Equal("hocr_pageindex_module_version", rom.hOCRPageIndexModuleVersion);
Assert.True(rom.Inverted);
Assert.Equal("mtime", rom.ReadString(Data.Models.Metadata.Rom.LastModifiedTimeKey));
Assert.Equal("length", rom.ReadString(Data.Models.Metadata.Rom.LengthKey));
Assert.Equal("mtime", rom.LastModifiedTime);
Assert.Equal("length", rom.Length);
Assert.Equal(Data.Models.Metadata.LoadFlag.Load16Byte, rom.LoadFlag);
Assert.Equal("matrix_number", rom.ReadString(Data.Models.Metadata.Rom.MatrixNumberKey));
Assert.Equal(HashType.MD2.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD2Key));
Assert.Equal(HashType.MD4.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD4Key));
Assert.Equal(HashType.MD5.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD5Key));
Assert.Equal("matrix_number", rom.MatrixNumber);
Assert.Equal(HashType.MD2.ZeroString, rom.MD2);
Assert.Equal(HashType.MD4.ZeroString, rom.MD4);
Assert.Equal(HashType.MD5.ZeroString, rom.MD5);
Assert.Null(rom.OpenMSXMediaType); // Omit due to other test
Assert.Equal("merge", rom.ReadString(Data.Models.Metadata.Rom.MergeKey));
Assert.Equal("type", rom.OpenMSXType);
Assert.Equal("merge", rom.Merge);
Assert.True(rom.MIA);
Assert.Equal("name", rom.Name);
Assert.Equal("ocr", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRKey));
Assert.Equal("ocr_converted", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRConvertedKey));
Assert.Equal("ocr_detected_lang", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRDetectedLangKey));
Assert.Equal("ocr_detected_lang_conf", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRDetectedLangConfKey));
Assert.Equal("ocr_detected_script", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRDetectedScriptKey));
Assert.Equal("ocr_detected_script_conf", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRDetectedScriptConfKey));
Assert.Equal("ocr_module_version", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRModuleVersionKey));
Assert.Equal("ocr_parameters", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRParametersKey));
Assert.Equal("offset", rom.ReadString(Data.Models.Metadata.Rom.OffsetKey));
Assert.Equal("offset", rom.Offset);
Assert.True(rom.Optional);
Assert.Equal("original", rom.ReadString(Data.Models.Metadata.Rom.OriginalKey));
Assert.Equal("pdf_module_version", rom.ReadString(Data.Models.Metadata.Rom.PDFModuleVersionKey));
Assert.Equal("preview-image", rom.ReadString(Data.Models.Metadata.Rom.PreviewImageKey));
Assert.Equal("publisher", rom.ReadString(Data.Models.Metadata.Rom.PublisherKey));
Assert.Equal("region", rom.ReadString(Data.Models.Metadata.Rom.RegionKey));
Assert.Equal("remark", rom.ReadString(Data.Models.Metadata.Rom.RemarkKey));
Assert.Equal(HashType.RIPEMD128.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key));
Assert.Equal(HashType.RIPEMD160.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key));
Assert.Equal("rotation", rom.ReadString(Data.Models.Metadata.Rom.RotationKey));
Assert.Equal("serial", rom.ReadString(Data.Models.Metadata.Rom.SerialKey));
Assert.Equal(HashType.SHA1.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA1Key));
Assert.Equal(HashType.SHA256.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA256Key));
Assert.Equal(HashType.SHA384.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA384Key));
Assert.Equal(HashType.SHA512.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA512Key));
Assert.Equal("original", rom.Original);
Assert.Equal("pdf_module_version", rom.PDFModuleVersion);
Assert.Equal("preview-image", rom.PreviewImage);
Assert.Equal("publisher", rom.Publisher);
Assert.Equal("region", rom.Region);
Assert.Equal("remark", rom.Remark);
Assert.Equal(HashType.RIPEMD128.ZeroString, rom.RIPEMD128);
Assert.Equal(HashType.RIPEMD160.ZeroString, rom.RIPEMD160);
Assert.Equal("rotation", rom.Rotation);
Assert.Equal("serial", rom.Serial);
Assert.Equal(HashType.SHA1.ZeroString, rom.SHA1);
Assert.Equal(HashType.SHA256.ZeroString, rom.SHA256);
Assert.Equal(HashType.SHA384.ZeroString, rom.SHA384);
Assert.Equal(HashType.SHA512.ZeroString, rom.SHA512);
Assert.Equal(12345, rom.Size);
Assert.True(rom.SoundOnly);
Assert.Equal("source", rom.ReadString(Data.Models.Metadata.Rom.SourceKey));
Assert.Equal(HashType.SpamSum.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey));
Assert.Equal("start", rom.ReadString(Data.Models.Metadata.Rom.StartKey));
Assert.Equal("source", rom.Source);
Assert.Equal(HashType.SpamSum.ZeroString, rom.SpamSum);
Assert.Equal("start", rom.Start);
Assert.Equal(Data.Models.Metadata.ItemStatus.Good, rom.Status);
Assert.Equal("summation", rom.ReadString(Data.Models.Metadata.Rom.SummationKey));
Assert.Equal("title", rom.ReadString(Data.Models.Metadata.Rom.TitleKey));
Assert.Equal("track", rom.ReadString(Data.Models.Metadata.Rom.TrackKey));
Assert.Equal("type", rom.ReadString(Data.Models.Metadata.Rom.OpenMSXType));
Assert.Equal("summation", rom.Summation);
Assert.Equal("ocr", rom.TesseractOCR);
Assert.Equal("ocr_converted", rom.TesseractOCRConverted);
Assert.Equal("ocr_detected_lang", rom.TesseractOCRDetectedLang);
Assert.Equal("ocr_detected_lang_conf", rom.TesseractOCRDetectedLangConf);
Assert.Equal("ocr_detected_script", rom.TesseractOCRDetectedScript);
Assert.Equal("ocr_detected_script_conf", rom.TesseractOCRDetectedScriptConf);
Assert.Equal("ocr_module_version", rom.TesseractOCRModuleVersion);
Assert.Equal("ocr_parameters", rom.TesseractOCRParameters);
Assert.Equal("title", rom.Title);
Assert.Equal("track", rom.Track);
Assert.Equal("value", rom.Value);
Assert.Equal("whisper_asr_module_version", rom.ReadString(Data.Models.Metadata.Rom.WhisperASRModuleVersionKey));
Assert.Equal("whisper_model_hash", rom.ReadString(Data.Models.Metadata.Rom.WhisperModelHashKey));
Assert.Equal("whisper_model_name", rom.ReadString(Data.Models.Metadata.Rom.WhisperModelNameKey));
Assert.Equal("whisper_version", rom.ReadString(Data.Models.Metadata.Rom.WhisperVersionKey));
Assert.Equal("width", rom.ReadString(Data.Models.Metadata.Rom.WidthKey));
Assert.Equal("word_conf_0_10", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval0To10Key));
Assert.Equal("word_conf_11_20", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval11To20Key));
Assert.Equal("word_conf_21_30", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval21To30Key));
Assert.Equal("word_conf_31_40", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval31To40Key));
Assert.Equal("word_conf_41_50", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval41To50Key));
Assert.Equal("word_conf_51_60", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval51To60Key));
Assert.Equal("word_conf_61_70", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval61To70Key));
Assert.Equal("word_conf_71_80", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval71To80Key));
Assert.Equal("word_conf_81_90", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval81To90Key));
Assert.Equal("word_conf_91_100", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval91To100Key));
Assert.Equal(HashType.XxHash3.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.xxHash364Key));
Assert.Equal(HashType.XxHash128.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.xxHash3128Key));
Assert.Equal("whisper_asr_module_version", rom.WhisperASRModuleVersion);
Assert.Equal("whisper_model_hash", rom.WhisperModelHash);
Assert.Equal("whisper_model_name", rom.WhisperModelName);
Assert.Equal("whisper_version", rom.WhisperVersion);
Assert.Equal("width", rom.Width);
Assert.Equal("word_conf_0_10", rom.WordConfidenceInterval0To10);
Assert.Equal("word_conf_11_20", rom.WordConfidenceInterval11To20);
Assert.Equal("word_conf_21_30", rom.WordConfidenceInterval21To30);
Assert.Equal("word_conf_31_40", rom.WordConfidenceInterval31To40);
Assert.Equal("word_conf_41_50", rom.WordConfidenceInterval41To50);
Assert.Equal("word_conf_51_60", rom.WordConfidenceInterval51To60);
Assert.Equal("word_conf_61_70", rom.WordConfidenceInterval61To70);
Assert.Equal("word_conf_71_80", rom.WordConfidenceInterval71To80);
Assert.Equal("word_conf_81_90", rom.WordConfidenceInterval81To90);
Assert.Equal("word_conf_91_100", rom.WordConfidenceInterval91To100);
Assert.Equal(HashType.XxHash3.ZeroString, rom.xxHash364);
Assert.Equal(HashType.XxHash128.ZeroString, rom.xxHash3128);
}
private static void ValidateMetadataSample(Data.Models.Metadata.Sample? sample)