Example #1
0
        public void PrintMeasurementsByType_ImplementedCorrectly()
        {
            var heartRateMeasurement   = new Measurement(DateTime.Now, 0d, MeasurementType.HeartRate);
            var temperatureMeasurement = new Measurement(DateTime.Now, 0d, MeasurementType.Temperature);
            var mappedMeasurements     = new Dictionary <MeasurementType, IEnumerable <Measurement> >()
            {
                { MeasurementType.HeartRate, new List <Measurement>()
                  {
                      heartRateMeasurement
                  } },
                { MeasurementType.Temperature, new List <Measurement>()
                  {
                      temperatureMeasurement
                  } }
            };

            var measurementPrinter = new MeasurementPrinter(_printerMock.Object);

            measurementPrinter.PrintMeasurementsByMeasurementType(mappedMeasurements);

            _printerMock.Verify(printer => printer.Print(It.IsAny <string>()), Times.Exactly(4));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(MeasurementType.HeartRate.GetDescription()))));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(heartRateMeasurement.ToString()))));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(MeasurementType.Temperature.GetDescription()))));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(temperatureMeasurement.ToString()))));
        }
Example #2
0
        public void PrintMeasurementsByMeasurementTime_ImplementedCorrectly()
        {
            var earlierTime            = new DateTime(2018, 6, 25, 9, 30, 0);
            var laterTime              = new DateTime(2018, 6, 25, 9, 30, 5);
            var heartRateMeasurement   = new Measurement(earlierTime, 0d, MeasurementType.HeartRate);
            var spo2Measurement        = new Measurement(earlierTime, 0d, MeasurementType.SpO2);
            var temperatureMeasurement = new Measurement(laterTime, 0d, MeasurementType.Temperature);
            var mappedMeasurements     = new Dictionary <MeasurementType, IEnumerable <Measurement> >()
            {
                { MeasurementType.HeartRate, new List <Measurement>()
                  {
                      heartRateMeasurement
                  } },
                { MeasurementType.Temperature, new List <Measurement>()
                  {
                      temperatureMeasurement
                  } },
                { MeasurementType.SpO2, new List <Measurement>()
                  {
                      spo2Measurement
                  } }
            };

            var measurementPrinter = new MeasurementPrinter(_printerMock.Object);

            measurementPrinter.PrintMeasurementsByMeasurementTime(mappedMeasurements);

            _printerMock.Verify(printer => printer.Print(It.IsAny <string>()), Times.Exactly(5));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(earlierTime.ToString(DateTimeFormat)))));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(heartRateMeasurement.ToString()))));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(spo2Measurement.ToString()))));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(laterTime.ToString(DateTimeFormat)))));
            _printerMock.Verify(printer => printer.Print(It.Is <string>(output => output.Contains(temperatureMeasurement.ToString()))));
        }
Example #3
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();
        }