public Ntfs.NtfsFileSystem NtfsFileSystem()
        {
            SparseMemoryBuffer buffer       = new SparseMemoryBuffer(4096);
            SparseMemoryStream ms           = new SparseMemoryStream();
            Geometry           diskGeometry = Geometry.FromCapacity(30 * 1024 * 1024);

            return(Ntfs.NtfsFileSystem.Format(ms, "", diskGeometry, 0, diskGeometry.TotalSectorsLong));
        }
        private static DiscFileSystem FatFileSystem()
        {
            SparseMemoryBuffer buffer       = new SparseMemoryBuffer(4096);
            SparseMemoryStream ms           = new SparseMemoryStream();
            Geometry           diskGeometry = Geometry.FromCapacity(30 * 1024 * 1024);

            return(Fat.FatFileSystem.FormatFloppy(ms, FloppyDiskType.Extended, null));
        }
        public static DiscFileSystem DiagnosticNtfsFileSystem()
        {
            SparseMemoryBuffer buffer       = new SparseMemoryBuffer(4096);
            SparseMemoryStream ms           = new SparseMemoryStream();
            Geometry           diskGeometry = Geometry.FromCapacity(30 * 1024 * 1024);

            Ntfs.NtfsFileSystem.Format(ms, "", diskGeometry, 0, diskGeometry.TotalSectorsLong);
            var discFs = new DiscUtils.Diagnostics.ValidatingFileSystem <Ntfs.NtfsFileSystem, Ntfs.NtfsFileSystemChecker>(ms);

            discFs.CheckpointInterval = 1;
            discFs.GlobalIOTraceCapturesStackTraces = false;
            return(discFs);
        }
        public void FromCapacity()
        {
            // Check the capacity calculated is no greater than requested, and off by no more than 10%
            const long ThreeTwentyMB = 1024 * 1024 * 320;
            Geometry   g             = Geometry.FromCapacity(ThreeTwentyMB);

            Assert.That(g.Capacity <= ThreeTwentyMB && g.Capacity > ThreeTwentyMB * 0.9);

            // Check exact sizes are maintained - do one pass to allow for finding a geometry that matches
            // the algorithm - then expect identical results each time.
            Geometry startGeometry = new Geometry(333, 22, 11);
            Geometry trip1         = Geometry.FromCapacity(startGeometry.Capacity);

            Assert.AreEqual(trip1, Geometry.FromCapacity(trip1.Capacity));
        }
 public void Equals()
 {
     Assert.AreEqual(Geometry.FromCapacity(1024 * 1024 * 32), Geometry.FromCapacity(1024 * 1024 * 32));
 }