From 4c5d978f9f14d8d64670e32e50258ceb52564f86 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Mon, 10 Jul 2017 21:36:43 +0100 Subject: [PATCH] Changed tests to reflect correct values. --- DiscImageChef.Helpers/CountBits.cs | 41 +++++++ DiscImageChef.Tests/Devices/IomegaJaz.cs | 114 +++++++++++++++++ DiscImageChef.Tests/Devices/LS120.cs | 81 ++++++++++++ DiscImageChef.Tests/Devices/PocketZip.cs | 81 ++++++++++++ DiscImageChef.Tests/Filesystems/FAT12.cs | 116 +++++++++--------- DiscImageChef.Tests/Filesystems/FAT12_MBR.cs | 18 +-- DiscImageChef.Tests/Filesystems/FAT16_APM.cs | 24 ++-- .../Filesystems/FAT16_Atari.cs | 24 ++-- DiscImageChef.Tests/Filesystems/FAT16_MBR.cs | 18 +-- DiscImageChef.Tests/Filesystems/FAT32_APM.cs | 2 +- DiscImageChef.Tests/Filesystems/FAT32_GPT.cs | 2 +- DiscImageChef.Tests/Filesystems/FAT32_MBR.cs | 10 +- 12 files changed, 424 insertions(+), 107 deletions(-) create mode 100644 DiscImageChef.Helpers/CountBits.cs create mode 100644 DiscImageChef.Tests/Devices/IomegaJaz.cs create mode 100644 DiscImageChef.Tests/Devices/LS120.cs create mode 100644 DiscImageChef.Tests/Devices/PocketZip.cs diff --git a/DiscImageChef.Helpers/CountBits.cs b/DiscImageChef.Helpers/CountBits.cs new file mode 100644 index 00000000..cf228966 --- /dev/null +++ b/DiscImageChef.Helpers/CountBits.cs @@ -0,0 +1,41 @@ +// /*************************************************************************** +// The Disc Image Chef +// ---------------------------------------------------------------------------- +// +// Filename : CountBits.cs +// Author(s) : Natalia Portillo +// +// Component : Component +// +// --[ Description ] ---------------------------------------------------------- +// +// Description +// +// --[ License ] -------------------------------------------------------------- +// +// This library is free software; you can redistribute it and/or modify +// it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation; either version 2.1 of the +// License, or (at your option) any later version. +// +// This library is distributed in the hope that it will be useful, but +// WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, see . +// +// ---------------------------------------------------------------------------- +// Copyright © 2011-2017 Natalia Portillo +// ****************************************************************************/ +using System; +namespace DiscImageChef.Helpers +{ + public class CountBits + { + public CountBits() + { + } + } +} diff --git a/DiscImageChef.Tests/Devices/IomegaJaz.cs b/DiscImageChef.Tests/Devices/IomegaJaz.cs new file mode 100644 index 00000000..6f0e4ab7 --- /dev/null +++ b/DiscImageChef.Tests/Devices/IomegaJaz.cs @@ -0,0 +1,114 @@ +// /*************************************************************************** +// The Disc Image Chef +// ---------------------------------------------------------------------------- +// +// Filename : MFS.cs +// Version : 1.0 +// Author(s) : Natalia Portillo +// +// Component : Component +// +// Revision : $Revision$ +// Last change by : $Author$ +// Date : $Date$ +// +// --[ Description ] ---------------------------------------------------------- +// +// Description +// +// --[ License ] -------------------------------------------------------------- +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// ---------------------------------------------------------------------------- +// Copyright (C) 2011-2015 Claunia.com +// ****************************************************************************/ +// //$Id$ +using System.IO; +using DiscImageChef.CommonTypes; +using DiscImageChef.Filesystems; +using DiscImageChef.Filters; +using DiscImageChef.ImagePlugins; +using NUnit.Framework; + +namespace DiscImageChef.Tests.Filesystems +{ + [TestFixture] + public class MFS + { + readonly string[] testfiles = { + "macos_0.1_mf1dd.img.lz","macos_0.5_mf1dd.img.lz","macos_1.1_mf1dd.img.lz","macos_2.0_mf1dd.img.lz", + "macos_6.0.7_mf1dd.img.lz", + }; + + readonly MediaType[] mediatypes = { + MediaType.AppleSonySS, MediaType.AppleSonySS, MediaType.AppleSonySS, MediaType.AppleSonySS, + MediaType.AppleSonySS + }; + + readonly ulong[] sectors = { + 800, 800, 800, 800, + 800, + }; + + readonly uint[] sectorsize = { + 512, 512, 512, 512, + 512, 512, 512, + }; + + readonly long[] clusters = { + 391, 391, 391, 391, + 391, + }; + + readonly int[] clustersize = { + 1024, 1024, 1024, 1024, + 1024, + }; + + readonly string[] volumename = { + "Volume label","Volume label","Volume label","Volume label", + "Volume label", + }; + + readonly string[] volumeserial = { + null, null, null, null, + null, null, null, + }; + + [Test] + public void Test() + { + for(int i = 0; i < testfiles.Length; i++) + { + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "mfs", testfiles[i]); + Filter filter = new LZip(); + filter.Open(location); + ImagePlugin image = new ZZZRawImage(); + Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + Filesystem fs = new DiscImageChef.Filesystems.AppleMFS.AppleMFS(); + Assert.AreEqual(true, fs.Identify(image, 0, image.ImageInfo.sectors - 1), testfiles[i]); + fs.GetInformation(image, 0, image.ImageInfo.sectors - 1, out string information); + Assert.AreEqual(clusters[i], fs.XmlFSType.Clusters, testfiles[i]); + Assert.AreEqual(clustersize[i], fs.XmlFSType.ClusterSize, testfiles[i]); + Assert.AreEqual("MFS", fs.XmlFSType.Type, testfiles[i]); + Assert.AreEqual(volumename[i], fs.XmlFSType.VolumeName, testfiles[i]); + Assert.AreEqual(volumeserial[i], fs.XmlFSType.VolumeSerial, testfiles[i]); + } + } + } +} diff --git a/DiscImageChef.Tests/Devices/LS120.cs b/DiscImageChef.Tests/Devices/LS120.cs new file mode 100644 index 00000000..4c8202b6 --- /dev/null +++ b/DiscImageChef.Tests/Devices/LS120.cs @@ -0,0 +1,81 @@ +// /*************************************************************************** +// The Disc Image Chef +// ---------------------------------------------------------------------------- +// +// Filename : IomegaJaz.cs +// Version : 1.0 +// Author(s) : Natalia Portillo +// +// Component : Component +// +// Revision : $Revision$ +// Last change by : $Author$ +// Date : $Date$ +// +// --[ Description ] ---------------------------------------------------------- +// +// Description +// +// --[ License ] -------------------------------------------------------------- +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// ---------------------------------------------------------------------------- +// Copyright (C) 2011-2015 Claunia.com +// ****************************************************************************/ +// //$Id$ +using System.IO; +using DiscImageChef.CommonTypes; +using DiscImageChef.Filters; +using DiscImageChef.ImagePlugins; +using NUnit.Framework; + +namespace DiscImageChef.Tests.Devices +{ + [TestFixture] + public class IomegaJaz + { + readonly string[] testfiles = { + "jaz1.bin.lz", + }; + + readonly MediaType[] mediatypes = { + MediaType.Jaz, + }; + + readonly ulong[] sectors = { + 2091050, + }; + + readonly uint[] sectorsize = { + 512, + }; + + [Test] + public void Test() + { + for(int i = 0; i < testfiles.Length; i++) + { + string location = Path.Combine(Consts.TestFilesRoot, "devices", "jaz", testfiles[i]); + Filter filter = new LZip(); + filter.Open(location); + ImagePlugin image = new ZZZRawImage(); + Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + } + } + } +} diff --git a/DiscImageChef.Tests/Devices/PocketZip.cs b/DiscImageChef.Tests/Devices/PocketZip.cs new file mode 100644 index 00000000..4c8202b6 --- /dev/null +++ b/DiscImageChef.Tests/Devices/PocketZip.cs @@ -0,0 +1,81 @@ +// /*************************************************************************** +// The Disc Image Chef +// ---------------------------------------------------------------------------- +// +// Filename : IomegaJaz.cs +// Version : 1.0 +// Author(s) : Natalia Portillo +// +// Component : Component +// +// Revision : $Revision$ +// Last change by : $Author$ +// Date : $Date$ +// +// --[ Description ] ---------------------------------------------------------- +// +// Description +// +// --[ License ] -------------------------------------------------------------- +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// ---------------------------------------------------------------------------- +// Copyright (C) 2011-2015 Claunia.com +// ****************************************************************************/ +// //$Id$ +using System.IO; +using DiscImageChef.CommonTypes; +using DiscImageChef.Filters; +using DiscImageChef.ImagePlugins; +using NUnit.Framework; + +namespace DiscImageChef.Tests.Devices +{ + [TestFixture] + public class IomegaJaz + { + readonly string[] testfiles = { + "jaz1.bin.lz", + }; + + readonly MediaType[] mediatypes = { + MediaType.Jaz, + }; + + readonly ulong[] sectors = { + 2091050, + }; + + readonly uint[] sectorsize = { + 512, + }; + + [Test] + public void Test() + { + for(int i = 0; i < testfiles.Length; i++) + { + string location = Path.Combine(Consts.TestFilesRoot, "devices", "jaz", testfiles[i]); + Filter filter = new LZip(); + filter.Open(location); + ImagePlugin image = new ZZZRawImage(); + Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); + Assert.AreEqual(mediatypes[i], image.ImageInfo.mediaType, testfiles[i]); + Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); + Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); + } + } + } +} diff --git a/DiscImageChef.Tests/Filesystems/FAT12.cs b/DiscImageChef.Tests/Filesystems/FAT12.cs index f65f369d..8c9c4e8b 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12.cs @@ -73,10 +73,10 @@ namespace DiscImageChef.Tests.Filesystems "drdos_8.00_mf2ed.img.lz", "drdos_8.00_mf2hd.img.lz", "drdos_8.00_ssdd.img.lz", "drdos_8.00_ssdd8.img.lz", // MS-DOS 3.30A "msdos_3.30A_dsdd.img.lz","msdos_3.30A_dsdd8.img.lz","msdos_3.30A_dshd.img.lz","msdos_3.30A_mf2dd.img.lz", - "msdos_3.30A_mf2ed.img.lz","msdos_3.30A_mf2hd.img.lz","msdos_3.30A_ssdd.img.lz","msdos_3.30A_ssdd8.img.lz", + "msdos_3.30A_mf2hd.img.lz","msdos_3.30A_ssdd.img.lz","msdos_3.30A_ssdd8.img.lz", // MS-DOS 3.31 "msdos_3.31_dsdd.img.lz","msdos_3.31_dsdd8.img.lz","msdos_3.31_dshd.img.lz","msdos_3.31_mf2dd.img.lz", - "msdos_3.31_mf2ed.img.lz","msdos_3.31_mf2hd.img.lz","msdos_3.31_ssdd.img.lz","msdos_3.31_ssdd8.img.lz", + "msdos_3.31_mf2hd.img.lz","msdos_3.31_ssdd.img.lz","msdos_3.31_ssdd8.img.lz", // MS-DOS 4.01 "msdos_4.01_dsdd.img.lz","msdos_4.01_dsdd8.img.lz","msdos_4.01_dshd.img.lz","msdos_4.01_mf2dd.img.lz", "msdos_4.01_mf2hd.img.lz","msdos_4.01_ssdd.img.lz","msdos_4.01_ssdd8.img.lz", @@ -126,7 +126,7 @@ namespace DiscImageChef.Tests.Filesystems // MS-DOS 3.21 for Kaypro "msdos_kaypro_3.21_dsdd.img.lz","msdos_kaypro_3.21_dsdd8.img.lz","msdos_kaypro_3.21_dshd.img.lz", "msdos_kaypro_3.21_mf2dd.img.lz","msdos_kaypro_3.21_mf2hd.img.lz","msdos_kaypro_3.21_ssdd.img.lz", - //"msdos_kaypro_3.21_ssdd8.img.lz", + "msdos_kaypro_3.21_ssdd8.img.lz", // MS-DOS 3.10 for Olivetti "msdos_olivetti_3.10_dsdd.img.lz","msdos_olivetti_3.10_dshd.img.lz","msdos_olivetti_3.10_ssdd.img.lz", // MS-DOS 3.30 for Toshiba @@ -279,10 +279,10 @@ namespace DiscImageChef.Tests.Filesystems MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.30A MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, - MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, + MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 3.31 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, - MediaType.DOS_35_ED,MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, + MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, // MS-DOS 4.01 MediaType.DOS_525_DS_DD_9,MediaType.DOS_525_DS_DD_8,MediaType.DOS_525_HD,MediaType.DOS_35_DS_DD_9, MediaType.DOS_35_HD,MediaType.DOS_525_SS_DD_9,MediaType.DOS_525_SS_DD_8, @@ -437,8 +437,8 @@ namespace DiscImageChef.Tests.Filesystems MediaType.DOS_35_HD, // Hatari // TODO: Incorrect media types - MediaType.DOS_35_SS_DD_9,MediaType.GENERIC_HDD,MediaType.GENERIC_HDD, - MediaType.DOS_35_DS_DD_9,MediaType.ATARI_35_DS_DD,MediaType.GENERIC_HDD, + MediaType.DOS_35_SS_DD_9,MediaType.ATARI_35_SS_DD,MediaType.ATARI_35_SS_DD_11, + MediaType.DOS_35_DS_DD_9,MediaType.ATARI_35_DS_DD,MediaType.ATARI_35_DS_DD_11, MediaType.DOS_35_ED,MediaType.DOS_35_HD, // Atari TOS 1.04 MediaType.DOS_35_SS_DD_9,MediaType.DOS_35_DS_DD_9, @@ -472,9 +472,9 @@ namespace DiscImageChef.Tests.Filesystems // DR-DOS 8.00 720,640,2400,1440,5760,2880,360,320, // MS-DOS 3.30A - 720,640,2400,1440,5760,2880,360,320, + 720,640,2400,1440,2880,360,320, // MS-DOS 3.31 - 720,640,2400,1440,5760,2880,360,320, + 720,640,2400,1440,2880,360,320, // MS-DOS 4.01 720,640,2400,1440,2880,360,320, // MS-DOS 5.00 @@ -631,9 +631,9 @@ namespace DiscImageChef.Tests.Filesystems // DR-DOS 8.00 512,512,512,512,512,512,512,512, // MS-DOS 3.30A - 512,512,512,512,512,512,512,512, + 512,512,512,512,512,512,512, // MS-DOS 3.31 - 512,512,512,512,512,512,512,512, + 512,512,512,512,512,512,512, // MS-DOS 4.01 512,512,512,512,512,512,512, // MS-DOS 5.00 @@ -790,9 +790,9 @@ namespace DiscImageChef.Tests.Filesystems // DR-DOS 8.00 360,320,2400,720,2880,2880,360,320, // MS-DOS 3.30A - 360,320,2400,720,5760,2880,360,320, + 360,320,2400,720,2880,360,320, // MS-DOS 3.31 - 360,320,2400,720,5760,2880,360,320, + 360,320,2400,720,2880,360,320, // MS-DOS 4.01 360,320,2400,720,2880,360,320, // MS-DOS 5.00 @@ -949,9 +949,9 @@ namespace DiscImageChef.Tests.Filesystems // DR-DOS 8.00 1024,1024,512,1024,1024,512,512,512, // MS-DOS 3.30A - 1024,1024,512,1024,512,512,512,512, + 1024,1024,512,1024,512,512,512, // MS-DOS 3.31 - 1024,1024,512,1024,512,512,512,512, + 1024,1024,512,1024,512,512,512, // MS-DOS 4.01 1024,1024,512,1024,512,512,512, // MS-DOS 5.00 @@ -1100,7 +1100,7 @@ namespace DiscImageChef.Tests.Filesystems // DR-DOS 5.00 null, null, null, null, null, null, null, // DR-DOS 6.00 - null, null, null, null, null, null, null, null, + "VOLUMELABEL", "VOLUMELABEL", "VOLUMELABEL", "VOLUMELABEL", "VOLUMELABEL", "VOLUMELABEL", "VOLUMELABEL", "VOLUMELABEL", // DR-DOS 7.02 "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // DR-DOS 7.03 @@ -1108,9 +1108,9 @@ namespace DiscImageChef.Tests.Filesystems // DR-DOS 8.00 "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // MS-DOS 3.30A - null, null, null, null, null, null, null,null, + null, null, null, null, null, null, null, // MS-DOS 3.31 - null, null, null, null, null, null, null,null, + null, null, null, null, null, null,null, // MS-DOS 4.01 "VOLUMELABEL",null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, // MS-DOS 5.00 @@ -1178,33 +1178,33 @@ namespace DiscImageChef.Tests.Filesystems // mkfs.vfat "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // mkfs.vfat for Atari - null,null,null,null, + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Microsoft OS/2 1.00 for Tandy - null,null,null,null, + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Microsoft OS/2 1.10 for AST - null,null,null,null, + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Microsoft OS/2 1.10 for Nokia - null,null,null,null, + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Microsoft OS/2 1.21 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Microsoft OS/2 1.30.1 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // OS/2 1.20 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // OS/2 1.30 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // OS/2 2.00 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // OS/2 2.10 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // OS/2 2.11 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // OS/2 Warp 3 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // OS/2 Warp 4 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // eComStation - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Windows 95 null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL",null,"VOLUMELABEL", @@ -1226,26 +1226,26 @@ namespace DiscImageChef.Tests.Filesystems // Windows Me "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Windows NT 3.10 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Windows NT 3.50 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Windows NT 3.51 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Windows NT 4.00 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", - "NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL", // Windows 2000 - "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // Windows Vista - "NO NAME ","NO NAME ","NO NAME ","NO NAME ","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", // BeOS R4.5 - "NO NAME ", + "VOLUMELABEL", // Hatari - null,null,null, - null,null,null, - null,null, + "volumelabel","volumelabel","volumelabel", + "volumelabel","volumelabel","volumelabel", + "volumelabel","volumelabel", // Atari TOS 1.04 - null,null, + "VOLUMELABEL","VOLUMELABEL", // NetBSD 1.6 "VOLUMELABEL","VOLUMELABEL", // NeXTStep 3.3 @@ -1276,9 +1276,9 @@ namespace DiscImageChef.Tests.Filesystems // DR-DOS 8.00 "1BFD1977","1BFD2D3F","1BFD3531","1BFC3231","1BFA1D58","1BFC117D","1BFE0971","1BFE1423", // MS-DOS 3.30A - null, null, null, null, null, null, null,null, + null, null, null, null, null, null, null, // MS-DOS 3.31 - null, null, null, null, null, null, null,null, + null, null, null, null, null, null,null, // MS-DOS 4.01 "122C190A",null,"2480190A","2D471909","0F5A1908","2F3D190A",null, // MS-DOS 5.00 @@ -1346,7 +1346,7 @@ namespace DiscImageChef.Tests.Filesystems // mkfs.vfat "20C279B1","20FD9501","2132D70A","2118F1AA", // mkfs.vfat for Atari - null,null,null,null, + "83E030","C53F06","A154CD","D54DEE", // Microsoft OS/2 1.00 for Tandy "9C170C15","9BFB0C15","9C13FC15","9BF99C15", // Microsoft OS/2 1.10 for AST @@ -1409,11 +1409,11 @@ namespace DiscImageChef.Tests.Filesystems // BeOS R4.5 "00000000", // Hatari - null,null,null, - null,null,null, - null,null, + "A82270","D08917","37AD91", + "1ED910","299DFE","94AE59", + "3A1757","C08249", // Atari TOS 1.04 - null,null, + "2356F0","51C7A3", // NetBSD 1.6 "EEB51A0C","CCFD1A06", // NeXTStep 3.3 @@ -1444,9 +1444,9 @@ namespace DiscImageChef.Tests.Filesystems // DR-DOS 8.00 "DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7","DRDOS 7", // MS-DOS 3.30A - "MSDOS3.3",null,"MSDOS3.3","MSDOS3.3","MSDOS3.3","MSDOS3.3","MSDOS3.3",null, + "MSDOS3.3",null,"MSDOS3.3","MSDOS3.3","MSDOS3.3","MSDOS3.3",null, // MS-DOS 3.31 - "IBM 3.3",null,"IBM 3.3","IBM 3.3","IBM 3.3","IBM 3.3","IBM 3.3",null, + "IBM 3.3",null,"IBM 3.3","IBM 3.3","IBM 3.3","IBM 3.3",null, // MS-DOS 4.01 "MSDOS4.0",null,"MSDOS4.0","MSDOS4.0","MSDOS4.0","MSDOS4.0",null, // MS-DOS 5.00 @@ -1514,7 +1514,7 @@ namespace DiscImageChef.Tests.Filesystems // mkfs.vfat "mkfs.fat","mkfs.fat","mkfs.fat","mkfs.fat", // mkfs.vfat for Atari - null,null,null,null, + "mkdosf","mkdosf","mkdosf","mkdosf", // Microsoft OS/2 1.00 for Tandy "TAN 10.0","TAN 10.0","TAN 10.0","TAN 10.0", // Microsoft OS/2 1.10 for AST @@ -1577,11 +1577,11 @@ namespace DiscImageChef.Tests.Filesystems // BeOS R4.5 "BeOS ", // Hatari - null,null,null, - null,null,null, - null,null, + "NNNNNN","NNNNNN","NNNNNN", + "NNNNNN","NNNNNN","NNNNNN", + "NNNNNN","NNNNNN", // Atari TOS 1.04 - null,null, + "NNNNNN","NNNNNN", // NetBSD 1.6 "BSD 4.4","BSD 4.4", // NeXTStep 3.3 diff --git a/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs index b45e18da..2953323d 100644 --- a/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT12_MBR.cs @@ -146,21 +146,21 @@ namespace DiscImageChef.Tests.Filesystems }; readonly string[] volumename = { - null,null,null,null, - null,null,null,"VOLUMELABEL", null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", - "VOLUMELABEL",null,null,"VOLUMELABEL", + null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", null,null,null,null, null,"VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL",null,"VOLUMELABEL", - "NO NAME ","NO NAME ",null,"NO NAME ", - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", - "NO NAME ","NO NAME ","NO NAME ","VOLUMELABEL", - "NO NAME ","NO NAME ","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", - "VOLUMELABEL","NO NAME ","NO NAME ","NO NAME ", - "NO NAME ","NO NAME ","NO NAME ","VolumeLabel", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VolumeLabel", "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", }; diff --git a/DiscImageChef.Tests/Filesystems/FAT16_APM.cs b/DiscImageChef.Tests/Filesystems/FAT16_APM.cs index 95051798..1c053a72 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_APM.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_APM.cs @@ -48,38 +48,38 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class FAT16_Atari + public class FAT16_APM { readonly string[] testfiles = { - "tos_1.04.vdi.lz","tos_1.04_small.vdi.lz", + "macosx_10.11.vdi.lz", }; readonly ulong[] sectors = { - 16384, 81920, + 1024000, }; readonly uint[] sectorsize = { - 512, 512, + 512, }; readonly long[] clusters = { - 16382, 81918, + 63995, }; readonly int[] clustersize = { - 512, 512, + 8192, }; readonly string[] volumename = { - null, null, + "VOLUMELABEL", }; readonly string[] volumeserial = { - null, null, + "063D1F09", }; readonly string[] oemid = { - null, null, + "BSD 4.4", }; [Test] @@ -87,20 +87,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_atari", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_apm", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AtariPartitions(); + PartPlugin parts = new AppleMap(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "GEM" || partitions[j].PartitionType == "BGM") + if(partitions[j].PartitionType == "DOS_FAT_16") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/FAT16_Atari.cs b/DiscImageChef.Tests/Filesystems/FAT16_Atari.cs index 3c5adc8e..0d475630 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_Atari.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_Atari.cs @@ -48,38 +48,38 @@ using NUnit.Framework; namespace DiscImageChef.Tests.Filesystems { [TestFixture] - public class FAT16_APM + public class FAT16_Atari { readonly string[] testfiles = { - "macosx_10.11.vdi.lz", + "tos_1.04.vdi.lz","tos_1.04_small.vdi.lz", }; readonly ulong[] sectors = { - 1024000, + 81920, 16384, }; readonly uint[] sectorsize = { - 512, + 512, 512, }; readonly long[] clusters = { - 63995, + 10239, 8191, }; readonly int[] clustersize = { - 8192, + 4096, 1024, }; readonly string[] volumename = { - "VOLUMELABEL", + null, null, }; readonly string[] volumeserial = { - "063D1F09", + "BA9831", "2019E1", }; readonly string[] oemid = { - "BSD 4.4", + null, null, }; [Test] @@ -87,20 +87,20 @@ namespace DiscImageChef.Tests.Filesystems { for(int i = 0; i < testfiles.Length; i++) { - string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_apm", testfiles[i]); + string location = Path.Combine(Consts.TestFilesRoot, "filesystems", "fat16_atari", testfiles[i]); Filter filter = new LZip(); filter.Open(location); ImagePlugin image = new VDI(); Assert.AreEqual(true, image.OpenImage(filter), testfiles[i]); Assert.AreEqual(sectors[i], image.ImageInfo.sectors, testfiles[i]); Assert.AreEqual(sectorsize[i], image.ImageInfo.sectorSize, testfiles[i]); - PartPlugin parts = new AppleMap(); + PartPlugin parts = new AtariPartitions(); Assert.AreEqual(true, parts.GetInformation(image, out List partitions), testfiles[i]); Filesystem fs = new DiscImageChef.Filesystems.FAT(); int part = -1; for(int j = 0; j < partitions.Count; j++) { - if(partitions[j].PartitionType == "DOS_FAT_16") + if(partitions[j].PartitionType == "GEM" || partitions[j].PartitionType == "BGM") { part = j; break; diff --git a/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs index 41c9c9a4..90fdc5e6 100644 --- a/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT16_MBR.cs @@ -146,19 +146,19 @@ namespace DiscImageChef.Tests.Filesystems }; readonly string[] volumename = { - null,null,null,null, - null,null,"VOLUMELABEL",null, + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL",null, "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", - null,null,"VOLUMELABEL","NO NAME ", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","NO NAME ", "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", - "NO NAME ","NO NAME ",null,"NO NAME ", - "NO NAME ","NO NAME ","NO NAME ","NO NAME ", - "NO NAME ","NO NAME ","NO NAME ","VOLUMELABEL", - "NO NAME ","NO NAME ","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", - "VOLUMELABEL","NO NAME ","NO NAME ","NO NAME ", - "NO NAME ","NO NAME ","NO NAME ","VolumeLabel", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VolumeLabel", "EMPTY ","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", "VOLUMELABEL", diff --git a/DiscImageChef.Tests/Filesystems/FAT32_APM.cs b/DiscImageChef.Tests/Filesystems/FAT32_APM.cs index 20bd4149..6b09228e 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_APM.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_APM.cs @@ -71,7 +71,7 @@ namespace DiscImageChef.Tests.Filesystems }; readonly string[] volumename = { - null, + "VOLUMELABEL", }; readonly string[] volumeserial = { diff --git a/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs b/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs index 3b7d6cbb..7e5daf0a 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_GPT.cs @@ -71,7 +71,7 @@ namespace DiscImageChef.Tests.Filesystems }; readonly string[] volumename = { - null, + "VOLUMELABEL", }; readonly string[] volumeserial = { diff --git a/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs b/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs index c0378b22..23a63f1e 100644 --- a/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs +++ b/DiscImageChef.Tests/Filesystems/FAT32_MBR.cs @@ -91,11 +91,11 @@ namespace DiscImageChef.Tests.Filesystems }; readonly string[] volumename = { - null,null,null,null, - null,null,null,null, - null,null,null,null, - null,null,null,null, - null,null,null,null, + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VolumeLabel","VOLUMELABEL", + "VOLUMELABEL","VOLUMELABEL","VOLUMELABEL","VOLUMELABEL", }; readonly string[] volumeserial = {