Esempio n. 1
0
        private DataTransferResult RetrieveDataForPeriod(
            TimeSpan timeLimit,
            string testName)
        {
            var fac    = SerilogHelper.GetLoggerFactory();
            var logger = fac.CreateLogger(testName);

            using (var device = DeviceHelper.GetFirstSuitableDevice(fac))
            {
                var result = DataTransferTestHelper.RetrievePpgDataForPeriod(device, timeLimit, logger);

                var samplesCount = result.Packages.Sum(p => p.Samples.Length);

                _logger.LogInformation($"Time:     {result.ActualRuntime.TotalSeconds} seconds");
                _logger.LogInformation($"Packages: {result.Packages.Count}");
                _logger.LogInformation($"Samples:  {samplesCount}");

                var actualSamplingRate = samplesCount / result.ActualRuntime.TotalSeconds;

                actualSamplingRate.ShouldBe(400, 400 * 0.01);

                // Checkpoints
                return(result);
            }
        }
        public void DataTransfer_SamplingRate_Repeat_2x5s()
        {
            {
                var result       = DataTransferTestHelper.RetrievePpgDataForPeriod(_device, TimeSpan.FromSeconds(5), _logger);
                var totalSamples = result.Packages.Sum(p => p.Samples.Length);

                // Checkpoint 3
                Assert.That(
                    totalSamples,
                    Is.EqualTo(SamplingRate * result.ActualRuntime.TotalSeconds)
                    .Within(6)
                    .Percent
                    );
            }
            System.Threading.Thread.Sleep(500);

            {
                var result       = DataTransferTestHelper.RetrievePpgDataForPeriod(_device, TimeSpan.FromSeconds(5), _logger);
                var totalSamples = result.Packages.Sum(p => p.Samples.Length);

                // Checkpoint 3
                Assert.That(
                    totalSamples,
                    Is.EqualTo(SamplingRate * result.ActualRuntime.TotalSeconds)
                    .Within(6)
                    .Percent
                    );
            }
        }
Esempio n. 3
0
        public void DataTransfer_Smoke_1s()
        {
            var timeLimit = TimeSpan.FromSeconds(1);

            var result = DataTransferTestHelper.RetrievePpgDataForPeriod(_device, timeLimit, _logger);

            // Checkpoint
            result.Packages.Count.ShouldBeGreaterThan(0);
        }
Esempio n. 4
0
        public void DataTransfer_Ramp_10x30sec()
        {
            var timeLimit = TimeSpan.FromSeconds(29);

            var fac = SerilogHelper.GetLoggerFactory();

            using (var device = DeviceHelper.GetFirstSuitableDevice(fac))
            {
                for (var i = 0; i < 10; ++i)
                {
                    _logger.LogInformation($"Started iteration {i}");
                    DataTransferTestHelper.RunRampTest(device, timeLimit, _logger);
                    System.Threading.Thread.Sleep(1000);
                }
            }
        }
Esempio n. 5
0
        public void GetPhysioData_Smoke()
        {
            var package = DataTransferTestHelper.TryRetrieveDataPackage(_device, TimeSpan.FromSeconds(1));

            package.ShouldNotBeNull();

            if (package != null)
            {
                _logger.LogInformation($"=====>");
                _logger.LogInformation($"{package.PackageNumber}");
                _logger.LogInformation($"{package.Samples.Length}");
                _logger.LogInformation($"{package.RingBufferDataCount}");
                _logger.LogInformation($"{package.RingBufferOverflows}");
            }

            // Checkpoints...
            package.Samples.Length.ShouldBeGreaterThan(0);
        }
Esempio n. 6
0
        public void DataTransfer_Ramp_10s()
        {
            var time = TimeSpan.FromSeconds(10);

            DataTransferTestHelper.RunRampTest(_device, time, _logger);
        }
Esempio n. 7
0
        public void DataTransfer_Ramp_Smoke_1s()
        {
            var timeLimit = TimeSpan.FromSeconds(1);

            DataTransferTestHelper.RunRampTest(_device, timeLimit, _logger);
        }
 public void DataTransfer_Ramp_60s()
 {
     DataTransferTestHelper.RunRampTest(_device, TimeSpan.FromSeconds(60), _logger);
 }