public void Contains_IntervalOverload(string firstInterval, string secondInterval, bool expectedResult) { DateInterval value = ParseInterval(firstInterval); DateInterval other = ParseInterval(secondInterval); Assert.AreEqual(expectedResult, value.Contains(other)); }
public async Task <Measurement> measure(DateInterval billingInterval) { TeslaAuthToken authToken = await authService.getAuthToken(); long energySiteId = await productService.fetchEnergySiteId(authToken); ICollection <Task <HistoricalCalendarDataResponse> > requests = new List <Task <HistoricalCalendarDataResponse> > { client.energySites.fetchHistoricalCalendarData(energySiteId, billingInterval.Start, reportTimeZone, authToken) }; if (billingInterval.Start.Month != billingInterval.End.Month) { requests.Add(client.energySites.fetchHistoricalCalendarData(energySiteId, billingInterval.End, reportTimeZone, authToken)); } HistoricalCalendarDataResponse[] responses = await Task.WhenAll(requests); IEnumerable <EnergyTimeSeriesEntry> timeSeries = responses.SelectMany(response => response.timeSeries); IEnumerable <EnergyTimeSeriesEntry> entriesInBillingInterval = timeSeries.Where(entry => billingInterval.Contains(entry.timestamp.Date)); double energyExportedWattHours = entriesInBillingInterval.Aggregate(0.0, (sum, entry) => sum + entry.solarEnergyExported); return(new Measurement { generatedKilowattHours = energyExportedWattHours / 1000 }); }
public void Contains_NullInterval_Throws() { var start = new LocalDate(2017, 11, 6); var end = new LocalDate(2017, 11, 10); var value = new DateInterval(start, end); Assert.Throws <ArgumentNullException>(() => value.Contains(null)); }
public void Contains(string candidateText, bool expected) { var start = new LocalDate(2000, 1, 1); var end = new LocalDate(2014, 06, 30); var candidate = LocalDatePattern.Iso.Parse(candidateText).Value; var interval = new DateInterval(start, end); Assert.AreEqual(expected, interval.Contains(candidate)); }
public void Contains_DifferentCalendar() { var start = new LocalDate(2000, 1, 1); var end = new LocalDate(2014, 06, 30); var interval = new DateInterval(start, end); var candidate = new LocalDate(2000, 1, 1, JulianCalendar); Assert.Throws <ArgumentException>(() => interval.Contains(candidate)); }
/// <summary> /// Returns the dates in the period that fall on the given day of week. /// </summary> /// <param name="dateInterval">A date interval.</param> /// <param name="dayOfWeek">A day of the week.</param> /// <returns>The dates in the period that fall on the given day of week.</returns> public static IEnumerable <LocalDate> GetDatesThatFallOn(this DateInterval dateInterval, IsoDayOfWeek dayOfWeek) { for (var date = dateInterval.Start.With(DateAdjusters.NextOrSame(dayOfWeek)); dateInterval.Contains(date); date = date.With(DateAdjusters.Next(dayOfWeek)) ) { yield return(date); } }
public void Contains_DateOnEndDateIntervalEndDateInclusive_ReturnTrue() { // Arrange var dateInterval = new DateInterval(now, inOneHour, isMaxInclusive: true); // Act bool interesct = dateInterval.Contains(inOneHour); // Assert Assert.True(interesct); }
public void Contains_LocalDate() { LocalDate start = new LocalDate(2017, 1, 1); LocalDate end = new LocalDate(2017, 12, 31); DateInterval interval = new DateInterval(start, end); var result = Snippet.For(interval.Contains(new LocalDate(2017, 12, 5))); Assert.AreEqual(true, result); }
public void Contains(string candidateText, bool expectedInclusive, bool expectedExclusive) { var start = new LocalDate(2000, 1, 1); var end = new LocalDate(2014, 06, 30); var candidate = LocalDatePattern.IsoPattern.Parse(candidateText).Value; var interval = new DateInterval(start, end, true); Assert.AreEqual(expectedInclusive, interval.Contains(candidate)); interval = new DateInterval(start, end, false); Assert.AreEqual(expectedExclusive, interval.Contains(candidate)); }
public void Contains_DateOnEndDateInterval_ReturnFalse() { // Arrange var dateInterval = new DateInterval(now, inOneHour); // Act bool interesct = dateInterval.Contains(inOneHour); // Assert Assert.False(interesct); }
public void Contains_DateOnStartDateInterval_ReturnTrue() { // Arrange var dateInterval = new DateInterval(now, inOneHour); // Act bool interesct = dateInterval.Contains(now); // Assert Assert.True(interesct); }
public void Contains_DateBeforeDateInterval_ReturnFalse() { // Arrange var dateInterval = new DateInterval(now, inOneHour); // Act bool intersect = dateInterval.Contains(now.AddHours(-1)); // Assert Assert.False(intersect); }
public void Contains_IntervalWithinAnotherCalendar_Throws() { var value = new DateInterval( new LocalDate(2017, 11, 6, CalendarSystem.Gregorian), new LocalDate(2017, 11, 10, CalendarSystem.Gregorian)); var other = new DateInterval( new LocalDate(2017, 11, 6, CalendarSystem.Coptic), new LocalDate(2017, 11, 10, CalendarSystem.Coptic)); Assert.Throws <ArgumentException>(() => value.Contains(other)); }
public void Contains_CurrentIntervalStartsAndFinishedWithOtherInterval_ReturnTrue() { // Arrange var dateInterval = new DateInterval(now, inThreeHours); var otherInterval = new DateInterval(now, inThreeHours); // Act bool contains = dateInterval.Contains(otherInterval); // Assert Assert.True(contains); }
public void Contains_CurrentIntervalStartAndEndValuesAreTheSameAsOtherIntervalButDifferentEndPointInclusion_ReturnTrue( bool minInclusive1, bool maxInclusive1, bool minInclusive2, bool maxInclusive2) { // Arrange var dateInterval = new DateInterval(now, inThreeHours, minInclusive1, maxInclusive1); var otherInterval = new DateInterval(now, inThreeHours, minInclusive2, maxInclusive2); // Act bool contains = dateInterval.Contains(otherInterval); // Assert Assert.True(contains); }
public void Contains_DifferentCalendar() { var start = new LocalDate(2000, 1, 1); var end = new LocalDate(2014, 06, 30); var interval = new DateInterval(start, end); var candidate = new LocalDate(2000, 1, 1, JulianCalendar); Assert.Throws<ArgumentException>(() => interval.Contains(candidate)); }
public void Contains_CurrentIntervalStartAndEndValuesAreTheSameAsOtherIntervalButDifferentEndPointInclusion_ReturnFalse( bool minInclusive1, bool maxInclusive1, bool minInclusive2, bool maxInclusive2) { // Arrange var dateInterval = new DateInterval(now, inThreeHours, minInclusive1, maxInclusive1); var otherInterval = new DateInterval(now, inThreeHours, minInclusive2, maxInclusive2); // Act bool contains = dateInterval.Contains(otherInterval); // Assert Assert.False(contains); }
public void Contains_CurrentIntervalStartsBeforeAndFinishedAfterOtherInterval_ReturnTrue() { // Arrange var dateInterval = new DateInterval(now, inThreeHours); var otherInterval = new DateInterval(inOneHour, inTwoHours); // Act bool contains = dateInterval.Contains(otherInterval); // Assert Assert.True(contains); }
public bool Contains(LocalDate localDate) => _dateInterval.Contains(localDate);
public bool Contains_Disjoint() => JanuaryJune2017.Contains(AugustDecember2017);