public void DetermineFileTraits_IncorrectFileFrameCount()
        {
            var sig            = ArisFileHeader.ArisFileSignature;
            var pingMode       = 9u;
            var fileFrameCount = 0u;
            var beams          = 128u;
            var samples        = 200u;
            var framesToAdd    = 1u;

            using (var stream = CreateFauxStream(sig, fileFrameCount, pingMode, beams, samples, framesToAdd))
            {
                var expected = new FileTraits(
                    fileSignature: sig,
                    fileVersion: FileVersion.Aris5,
                    beamCount: beams,
                    sampleCount: samples,
                    fileHeaderSize: (uint)Marshal.SizeOf <ArisFileHeader>(),
                    frameHeaderSize: (uint)Marshal.SizeOf <ArisFrameHeader>(),
                    frameDataSize: beams * samples,
                    frameSize: (uint)Marshal.SizeOf <ArisFrameHeader>() + (beams * samples),
                    calculatedFrameCount: 1,
                    fileHeaderFrameCount: 0,
                    fileSize: stream.Length);

                Match(FileTraits.DetermineFileTraits(stream),
                      onOk: actual => {
                    Console.WriteLine("Expected: " + Describe(expected));
                    Console.WriteLine("Actual: " + Describe(actual));

                    Assert.AreEqual(expected, actual);
                },
                      onError: errorInfo => Assert.Fail(errorInfo.Text));
            }
        }
 public void DetermineFileTraits_ZeroFilledStream()
 {
     using (var stream = new MemoryStream(new byte[100 * 1024]))
     {
         AssertIsError(FileTraits.DetermineFileTraits(stream));
     }
 }
 public void DetermineFileTraits_FileHeaderOnlyZeros()
 {
     using (var stream = CreateFauxStream(0, 0, 0, 0, 0, 0u))
     {
         AssertIsError(FileTraits.DetermineFileTraits(stream));
     }
 }
 public void DetermineFileTraits_WriteOnlyStream()
 {
     using (var stream = CreateWriteOnlyStream())
     {
         Assert.ThrowsException <ArgumentException>(() => FileTraits.DetermineFileTraits(stream));
     }
 }
 public void DetermineFileTraits_EmptyStream()
 {
     using (var stream = new MemoryStream(new byte[0]))
     {
         AssertIsError(FileTraits.DetermineFileTraits(stream));
     }
 }
        public void CreateArisFileHeaderValuesFromFirstFrame_NoFrames()
        {
            var sig            = ArisFileHeader.ArisFileSignature;
            var fileFrameCount = 0u;
            var pingMode       = 9u;
            var beams          = 128u;
            var samples        = 200u;
            var framesToAdd    = 0u;

            using (var stream = CreateFauxStream(sig, fileFrameCount, pingMode, beams, samples, framesToAdd))
            {
                AssertIsError(FileTraits.CreateArisFileHeaderValuesFromFirstFrame(stream));
            }
        }
Esempio n. 7
0
        public static string Describe(FileTraits traits)
        {
            var buf = new StringBuilder();

            buf.AppendLine($"FileSignature          = [0x{traits.FileSignature:X}]");
            buf.AppendLine($"FileVersion            = [{traits.FileVersion}]");
            buf.AppendLine($"BeamCount              = [{traits.BeamCount}]");
            buf.AppendLine($"SampleCount            = [{traits.SampleCount}]");
            buf.AppendLine($"FileHeaderSize         = [{traits.FileHeaderSize}]");
            buf.AppendLine($"FrameHeaderSize        = [{traits.FrameHeaderSize}]");
            buf.AppendLine($"FrameDataSize          = [{traits.FrameDataSize}]");
            buf.AppendLine($"FrameSize              = [{traits.FrameSize}]");
            buf.AppendLine($"CalculatedFrameCount   = [{traits.CalculatedFrameCount}]");
            buf.AppendLine($"FileHeaderFrameCount   = [{traits.FileHeaderFrameCount}]");

            return(buf.ToString());
        }
        public void CreateArisFileHeaderValuesFromFirstFrame_AFrame()
        {
            var sig            = ArisFileHeader.ArisFileSignature;
            var fileFrameCount = 0u;
            var pingMode       = 9u;
            var beams          = 128u;
            var samples        = 200u;
            var framesToAdd    = 1u;

            using (var stream = CreateFauxStream(sig, fileFrameCount, pingMode, beams, samples, framesToAdd))
            {
                Match(FileTraits.CreateArisFileHeaderValuesFromFirstFrame(stream),
                      onOk: actual => {
                    var(fileVersion, sampleCount, beamCount) = actual;
                    Assert.AreEqual(sig, fileVersion);
                    Assert.AreEqual(samples, sampleCount);
                    Assert.AreEqual(beams, beamCount);
                },
                      onError: errorInfo => Assert.Fail(errorInfo.Text));
            }
        }
        //---------------------------------------------------------------------

        [TestMethod] public void DetermineFileTraits_NullStream() =>
        Assert.ThrowsException <ArgumentNullException>(() => FileTraits.DetermineFileTraits(null));
 public void CreateArisFileHeaderValuesFromFirstFrame_NullStream()
 {
     Assert.ThrowsException <ArgumentNullException>(() => FileTraits.CreateArisFileHeaderValuesFromFirstFrame(null));
 }