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())))); }
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())))); }
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(); }