public void GetEveryXMinutesForDay_Test() { const int xMinutes = 10; const int expectedValuesCount = 24 * 60 / xMinutes; var values = TimeSpanUtilities.GetEveryXMinutesForDay(xMinutes); Assert.AreEqual(expectedValuesCount, values.Count()); }
private IEnumerable <KeyValuePair <TimeSpan, double> > GetKeyValuePairsForTimeOfDay(IReadOnlyCollection <KeyValuePair <TimeSpan, double> > existingKeyValuePairs) { foreach (var quarterHour in TimeSpanUtilities.GetEveryXMinutesForDay(15)) { if (existingKeyValuePairs.Any(x => x.Key == quarterHour)) { yield return(existingKeyValuePairs.FirstOrDefault(x => x.Key == quarterHour)); } else { yield return(new KeyValuePair <TimeSpan, double>(quarterHour, 0)); } } }