public void RomComparerStrict_CompareTwoBinFormatRomsWithDifferentCfgFile_CompareAsDifferent()
        {
            var paths = RomComparerStrictTestStorageAccess.Initialize(TestRomResources.TestBinPath, TestRomResources.TestCfgPath, TestRomResources.TestBinMetadataPath, TestRomResources.TestCfgMetadataPath);
            var rom0  = Rom.Create(paths[0], paths[1]);

            Assert.NotNull(rom0);
            var rom1 = Rom.Create(paths[2], paths[3]);

            Assert.NotNull(rom1);

            var compareResult = RomComparerStrict.Default.Compare(rom0, rom1);

            Assert.NotEqual(0, compareResult);
        }
        public void RomComparerStrict_CompareLuigiFormatRomToRomFormatRom_CompareAsDifferent()
        {
            var paths = RomComparerStrictTestStorageAccess.Initialize(TestRomResources.TestLuigiFromBinPath, TestRomResources.TestRomPath);
            var rom0  = Rom.Create(paths[0], null);

            Assert.NotNull(rom0);
            var rom1 = Rom.Create(paths[1], null);

            Assert.NotNull(rom1);

            var compareResult = RomComparerStrict.Default.Compare(rom0, rom1);

            Assert.NotEqual(0, compareResult);
        }
        public void RomComparerStrict_CompareIdenticalRomFormatRoms_CompareAsSame()
        {
            var paths = RomComparerStrictTestStorageAccess.Initialize(TestRomResources.TestRomPath, TestRomResources.TestRomPath);

            Assert.NotEqual(paths[0], paths[1]);
            var rom0 = Rom.Create(paths[0], null);

            Assert.NotNull(rom0);
            var duplicateRomPath = paths[1];
            var rom1             = Rom.Create(duplicateRomPath, null);

            Assert.NotNull(rom1);

            var compareResult = RomComparerStrict.Default.Compare(rom0, rom1);

            Assert.Equal(0, compareResult);
        }
        public void RomComparerStrict_CompareTwoBinFormatRomsSecondWithoutCfgFile_CompareAsDifferent()
        {
            IReadOnlyList <string> paths;

            RomComparerStrictTestStorageAccess.Initialize(out paths, TestRomResources.TestBinPath, TestRomResources.TestCfgPath, TestRomResources.TestBinMetadataPath)
            .WithStockCfgResources();
            var rom0 = Rom.Create(paths[0], paths[1]);

            Assert.NotNull(rom0);
            var rom1 = Rom.Create(paths[2], null);

            Assert.NotNull(rom1);

            using (IRomHelpersSupport.AddSelfCleaningRomInfo(rom0.RomPath))
                using (IRomHelpersSupport.AddSelfCleaningRomInfo(rom1.RomPath))
                {
                    var compareResult = RomComparerStrict.Default.Compare(rom0, rom1);

                    Assert.NotEqual(0, compareResult);
                }
        }