From 4c44c19d1d248e6e0938df7020bd5ff1c37e4e36 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 9 Jul 2021 09:50:41 +0100 Subject: [PATCH] Move contents test in optical media image test to its own separate test. --- Aaru.Tests/Images/OpticalMediaImageTest.cs | 48 ++++++++++++++++++---- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/Aaru.Tests/Images/OpticalMediaImageTest.cs b/Aaru.Tests/Images/OpticalMediaImageTest.cs index eb612e5bc..fa8841232 100644 --- a/Aaru.Tests/Images/OpticalMediaImageTest.cs +++ b/Aaru.Tests/Images/OpticalMediaImageTest.cs @@ -107,6 +107,41 @@ namespace Aaru.Tests.Images $"Last sector for tracks is {latestEndSector}, but it is {image.Info.Sectors} for image"); }); } + } + }); + } + + [Test] + public void Contents() + { + Environment.CurrentDirectory = DataFolder; + + Assert.Multiple(() => + { + foreach(OpticalImageTestExpected test in Tests) + { + string testFile = test.TestFile; + + bool exists = File.Exists(testFile); + Assert.True(exists, $"{testFile} not found"); + + // ReSharper disable once ConditionIsAlwaysTrueOrFalse + // It arrives here... + if(!exists) + continue; + + var filtersList = new FiltersList(); + IFilter filter = filtersList.GetFilter(testFile); + filter.Open(testFile); + + var image = Activator.CreateInstance(_plugin.GetType()) as IOpticalMediaImage; + Assert.NotNull(image, $"Could not instantiate filesystem for {testFile}"); + + bool opened = image.Open(filter); + Assert.AreEqual(true, opened, $"Open: {testFile}"); + + if(!opened) + continue; using(new AssertionScope()) { @@ -232,13 +267,12 @@ namespace Aaru.Tests.Images ReadOnlyFilesystemTest.TestDirectory(rofs, "/", track.FileSystems[i].Contents, testFile, false); - /* Uncomment to generate JSON file - var contents = ReadOnlyFilesystemTest.BuildDirectory(rofs, "/"); - - var sw = new StreamWriter($"{testFile}.track{track.Number}.filesystem{i}.contents.json"); - serializer.Serialize(sw, contents); - sw.Close(); -*/ + // Uncomment to generate JSON file + /* var contents = ReadOnlyFilesystemTest.BuildDirectory(rofs, "/"); + + var sw = new StreamWriter($"{testFile}.track{track.Number}.filesystem{i}.contents.json"); + serializer.Serialize(sw, contents); + sw.Close();*/ } } });