From d7c8ce14b31e00e9c9c55ffd9e97194b933ea6b3 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Thu, 27 May 2021 13:39:51 +0100 Subject: [PATCH] Add test files for Amstrad's AMSDOS filesystem (CP/M). --- Aaru.Tests/Filesystems/CPM/AMSDOS.cs | 87 ++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 Aaru.Tests/Filesystems/CPM/AMSDOS.cs diff --git a/Aaru.Tests/Filesystems/CPM/AMSDOS.cs b/Aaru.Tests/Filesystems/CPM/AMSDOS.cs new file mode 100644 index 000000000..7e2c9a98c --- /dev/null +++ b/Aaru.Tests/Filesystems/CPM/AMSDOS.cs @@ -0,0 +1,87 @@ +// /*************************************************************************** +// Aaru Data Preservation Suite +// ---------------------------------------------------------------------------- +// +// Author(s) : Natalia Portillo +// +// Component : Aaru unit testing. +// +// --[ 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 © 2011-2021 Natalia Portillo +// ****************************************************************************/ + +using System.IO; +using Aaru.CommonTypes; +using Aaru.CommonTypes.Interfaces; +using NUnit.Framework; + +namespace Aaru.Tests.Filesystems.CPM +{ + [TestFixture] + public class AMSDOS : FilesystemTest + { + public AMSDOS() : base("CP/M") {} + + public override string DataFolder => Path.Combine(Consts.TEST_FILES_ROOT, "Filesystems", "CPM", "AMSDOS"); + + public override IFilesystem Plugin => new Aaru.Filesystems.CPM(); + public override bool Partitions => false; + + public override FileSystemTest[] Tests => new[] + { + new FileSystemTest + { + TestFile = "data_filename.dsk.lz", + MediaType = MediaType.CompactFloppy, + Sectors = 360, + SectorSize = 512, + Clusters = 180, + ClusterSize = 1024 + }, + new FileSystemTest + { + TestFile = "data_files.dsk.lz", + MediaType = MediaType.CompactFloppy, + Sectors = 360, + SectorSize = 512, + Clusters = 180, + ClusterSize = 1024 + }, + new FileSystemTest + { + TestFile = "system_filename.dsk.lz", + MediaType = MediaType.CompactFloppy, + Sectors = 360, + SectorSize = 512, + Bootable = true, + Clusters = 170, + ClusterSize = 1024 + }, + new FileSystemTest + { + TestFile = "system_files.dsk.lz", + MediaType = MediaType.CompactFloppy, + Sectors = 360, + SectorSize = 512, + Bootable = true, + Clusters = 170, + ClusterSize = 1024 + } + }; + } +} \ No newline at end of file