private DateTimeRange GetOctober11th1985Range(
     RangeComparisonOptions rangeComparisonOptions = null)
 {
     return(DateTimeRange.Create()
            .WithMinimum(new DateTime(1985, 10, 11))
            .WithMaximum(new DateTime(1986, 10, 11))
            .WithRangeComparsionOptions(rangeComparisonOptions));
 }
 private static IEnumerable <object[]> AsEnumerableTestData()
 {
     return(new List <object[]> {
         new object[] {
             DateTimeRange.Create()
             .WithMinimum(new DateTime(1985, 10, 11))
             .WithMaximum(new DateTime(1985, 10, 12))
             .Build(),
             2
         },
     });
 }
Example #3
0
        public static DateTimeRange CreateDateTimeRange(string lastHours)
        {
            if (string.IsNullOrWhiteSpace(lastHours))
            {
                return(DateTimeRange.Unbounded);
            }

            var hoursInt = int.Parse(lastHours);
            var timeSpan = TimeSpan.FromHours(hoursInt);

            return(DateTimeRange.Create(DateTime.UtcNow - timeSpan, null));
        }
Example #4
0
        public void GetDataPoints_filter_by_date_has_start()
        {
            var dataPoint1 = CreateDataPoint(sensorTimestampUtc: new DateTime(2001, 1, 10));
            var dataPoint2 = CreateDataPoint(sensorTimestampUtc: new DateTime(2001, 1, 12));

            _repository.Save(dataPoint1);
            _repository.Save(dataPoint2);

            var loadedDataPoints = _repository.GetDataPoints(
                dataPoint1.StationId,
                dataPoint1.SensorType,
                DateTimeRange.Create(new DateTime(2001, 1, 11), null));

            loadedDataPoints.Should().HaveCount(1);
            DataPoint.IdentityEquals(dataPoint2, loadedDataPoints[0]).Should().BeTrue();
        }
Example #5
0
        public async Task <bool> Handle(CreateBookingCommand request, CancellationToken cancellationToken)
        {
            var range = DateTimeRange.Create(request.From, request.To);

            var booking  = new Booking(range.Value);
            var timeslot = await _dbContext.Timeslots.FirstAsync(); //I know this is not 'right', but i dont wanna find new ids all the time

            if (timeslot.IsBookingPossible(booking))
            {
                timeslot.CreateBooking(booking);
                await _dbContext.SaveChanges();

                return(true);
            }

            return(false);
        }
        public async Task <bool> Handle(CreateTimeslotCommand request, CancellationToken cancellationToken)
        {
            var teacher = await _dbContext.Teachers.FindAsync(request.TeacherId);

            var calendar = await _dbContext.Calendars.FindAsync(request.CalendarId);

            var timeslotsWhereTeacherIsAvailable = _dbContext.Timeslots.Where(timeslot => timeslot.Teacher.Id == teacher.Id).ToList();

            var range    = DateTimeRange.Create(request.From, request.To);
            var timeSlot = new Timeslot(request.Description, range.Value);

            if (timeSlot.IsTimeslotsOverlapping(timeslotsWhereTeacherIsAvailable, timeSlot) == false)
            {
                teacher.CreateTimeSlot(timeSlot);
                await _dbContext.SaveChanges();

                return(true);
            }

            return(false);
        }
        public void CreateFromValuesTest()
        {
            // arrange
            var begin  = DateTime.Today;
            var values = new Dictionary <DateTime, int>
            {
                [begin.AddMinutes(1)] = 3,
                [begin.AddMinutes(2)] = 6,
                [begin.AddMinutes(3)] = 1,
                [begin.AddMinutes(4)] = 3,
                [begin.AddMinutes(5)] = 5,
            };

            // act
            var ranges = DateTimeRange.Create(values, 2);

            // assert
            Assert.AreEqual(2, ranges.Count());
            Assert.AreEqual(new DateTimeRange(begin.AddMinutes(1), begin.AddMinutes(3)), ranges.First());
            Assert.AreEqual(new DateTimeRange(begin.AddMinutes(4), begin.AddMinutes(5)), ranges.Last());
        }
        public void CreateFromPulseTest()
        {
            // arrange
            var begin = DateTime.Today;
            var pulse = new Dictionary <DateTime, bool>
            {
                [begin.AddMinutes(1)] = true,
                [begin.AddMinutes(2)] = true,
                [begin.AddMinutes(3)] = false,
                [begin.AddMinutes(4)] = true,
                [begin.AddMinutes(5)] = true,
            };

            // act
            var ranges = DateTimeRange.Create(pulse);

            // assert
            Assert.AreEqual(2, ranges.Count());
            Assert.AreEqual(new DateTimeRange(begin.AddMinutes(1), begin.AddMinutes(3)), ranges.First());
            Assert.AreEqual(new DateTimeRange(begin.AddMinutes(4), begin.AddMinutes(5)), ranges.Last());
        }