public void Months()
        {
            // Arrange
            var now = DateTime.Now;

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.Every(5).Months();
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now.AddMonths(5).Month, calculated.Value.Month);
        }
        public void Weeks()
        {
            // Arrange
            var now = DateTime.Now;

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.Every(5).Weeks();
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now.AddDays(35), calculated.Value);
        }
Example #3
0
        public void On()
        {
            // Arrange
            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            var now         = DateTime.Now;
            var expectedDay = 3;

            // Act
            run.Every(1).Months().On(expectedDay);
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(expectedDay, calculated.Value.Day);
        }
Example #4
0
        public void OnTheFourthDay()
        {
            // Arrange
            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            var now          = new DateTime(2017, 10, 27);
            var expectedDate = new DateTime(2017, 11, 24);

            // Act
            run.Every(1).Months().OnTheFourthDay(DayOfWeek.Friday);
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(DayOfWeek.Friday, calculated.Value.DayOfWeek);
            Assert.AreEqual(expectedDate, calculated.Value.Date);
        }
Example #5
0
        public void NowAndEvery()
        {
            // Arrange
            var now = DateTime.Now;

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.Now().AndEvery(10).Seconds();
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now, calculated);

            // Act
            calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now.AddSeconds(10), calculated);
        }
Example #6
0
        public void Now()
        {
            // Arrange
            var now = DateTime.Now;

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.Now();
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now, calculated);

            // Act
            calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(null, calculated);
        }
Example #7
0
        public void OnceIn()
        {
            // Arrange
            var now = DateTime.Today;

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.OnceIn(10).Seconds();
            var actual = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now.AddSeconds(10), actual);

            // Act
            actual = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(null, actual);
        }
Example #8
0
        public void OnceAtAndEvery()
        {
            // Arrange
            var now = DateTime.Now;
            var at  = new DateTime(2000, 10, 10, 10, 10, 10);

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.OnceAt(at).AndEvery(10).Seconds();
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(at, calculated);

            // Act
            calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now.AddSeconds(10), calculated);
        }
Example #9
0
        public void OnceInTimeSpan()
        {
            // Arrange
            var now  = DateTime.Today;
            var time = TimeSpan.FromSeconds(10);

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.OnceIn(time);
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now.Add(time), calculated);

            // Act
            calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(null, calculated);
        }
Example #10
0
        public void OnceAtDateTime()
        {
            // Arrange
            var now = DateTime.Now;
            var at  = new DateTime(2000, 10, 10, 10, 10, 10);

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.OnceAt(at);
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(at, calculated);

            // Act
            calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(null, calculated);
        }
Example #11
0
        public void OnceAtTimeSpan()
        {
            // Arrange
            var now = DateTime.Today;
            var at  = new TimeSpan(13, 50, 0);

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.OnceAt(at);
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now.Add(at), calculated);

            // Act
            calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(null, calculated);
        }
Example #12
0
        public void OnceAtHoursMinutes()
        {
            // Arrange
            var now     = DateTime.Today;
            var hours   = 13;
            var minutes = 50;

            var calculator = new TimeCalculator();
            var run        = new RunSpecifier(calculator);

            // Act
            run.OnceAt(hours, minutes);
            var calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(now.Date.AddHours(hours).AddMinutes(minutes), calculated);

            // Act
            calculated = calculator.Calculate(now);

            // Assert
            Assert.AreEqual(null, calculated);
        }