Пример #1
0
        private static void Main(string[] args)
        {
            _measurementSorter      = new MeasurementSorter();
            _configurationStorage   = new ConfigurationStorage();
            _gridCalculator         = new GridCalculator(_configurationStorage);
            _measurementAccumulator = new MeasurementAccumulator(_gridCalculator);
            _printer            = new ConsolePrinter();
            _measurementPrinter = new MeasurementPrinter(_printer);

            var inputData      = GenerateInputData();
            var measurementMap = SampleDataDriven(inputData);

            _measurementPrinter.PrintMeasurementsByMeasurementType(measurementMap);
            _measurementPrinter.PrintMeasurementsByMeasurementTime(measurementMap);
            Console.ReadLine();
        }
Пример #2
0
        public void SortByType_ShouldReturnOnlyMeasurementsOfDesiredType()
        {
            var instant = DateTime.Now;
            var heartRateMeasurement   = new Measurement(instant, 0d, MeasurementType.HeartRate);
            var temperatureMeasurement = new Measurement(instant, 0d, MeasurementType.Temperature);
            var spo2Measurement        = new Measurement(instant, 0d, MeasurementType.SpO2);

            var measurementList = new List <Measurement>()
            {
                heartRateMeasurement, temperatureMeasurement, spo2Measurement
            };

            var measurementSorter       = new MeasurementSorter();
            var temperatureMeasurements = measurementSorter.SortByType(measurementList, MeasurementType.HeartRate);

            Assert.IsTrue(temperatureMeasurements.All(measurement => measurement.Type == MeasurementType.HeartRate));
        }
Пример #3
0
        public void SortByTimeAscending_ShouldReverseOrderForChronologicallyFlippedMeasurements()
        {
            var earlierInstant = DateTime.Now;
            var laterInstant   = earlierInstant.AddMinutes(1);

            Assert.IsTrue(earlierInstant < laterInstant);
            var earlierMeasurement = new Measurement(earlierInstant, 0d, MeasurementType.HeartRate);
            var laterMeasurement   = new Measurement(laterInstant, 0d, MeasurementType.HeartRate);

            var unsortedMeasurements = new List <Measurement>()
            {
                laterMeasurement, earlierMeasurement
            };

            var measurementSorter   = new MeasurementSorter();
            var orderedMeasurements = measurementSorter.SortByTimeAscending(unsortedMeasurements);

            Assert.AreEqual(earlierMeasurement, orderedMeasurements.ElementAt(0));
            Assert.AreEqual(laterMeasurement, orderedMeasurements.ElementAt(1));
        }