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