Пример #1
0
        public ActionResult LeapYears(LeapYearSearchTool searchTool)
        {
            if (ModelState.IsValidField("EndYear") && searchTool.StartYear >= searchTool.EndYear)
            {
                ModelState.AddModelError("EndYear", "Please make sure your end date is later than your start date");
            }
            if (ModelState.IsValid)
            {
                var leapFinder = new LeapYearFinder();
                var leapYears  = new LeapYears();

                leapYears.StartYear = searchTool.StartYear.Value;
                leapYears.EndYear   = searchTool.EndYear.Value;

                var result = leapFinder.SearchForLeapYears(leapYears);

                searchTool.Years      = result.Years;
                searchTool.IsPostback = true;
                return(View("LeapYears", searchTool));
            }
            else
            {
                searchTool.Years = new List <int>(); //not sure why this is necessary but I get null ref exception on View without it.

                return(View("LeapYears", searchTool));
            }
        }
Пример #2
0
        public void ReturnFalseIfDivisableBy100ButNotBy400()
        {
            var leapYears = new LeapYears();
            var result    = leapYears.Calculate(1700);

            Assert.AreEqual(false, result);
        }
Пример #3
0
        public void ReturnTrueIfYearIsDivisableBy400()
        {
            var leapYears = new LeapYears();
            var result    = leapYears.Calculate(8000);

            Assert.AreEqual(true, result);
        }
Пример #4
0
        public void ReturnTrueIfDivisableBy4ButNotBy100()
        {
            var leapYears = new LeapYears();
            var result    = leapYears.Calculate(2008);

            Assert.AreEqual(true, result);
        }
Пример #5
0
        public void ReturnFalseIfNotDivisableBy4()
        {
            var leapYears = new LeapYears();
            var result    = leapYears.Calculate(2017);

            Assert.AreEqual(false, result);
        }
Пример #6
0
        public void TestLeapYears(int year, string expected)
        {
            var sut    = new LeapYears();
            var result = sut.CheckLeapYears(year);

            Assert.Equal(expected, result);
        }
Пример #7
0
        public void IsLeapYear_DivisibleBy4ButNot100_ReturnsTrue(int year)
        {
            // Arrange & Act
            var result = LeapYears.IsLeapYear(year);

            // Assert
            Assert.True(result);
        }
Пример #8
0
        public void IsLeapYear_NotDivisibleBy4_ReturnsFalse(int year)
        {
            // Arrange & Act
            var result = LeapYears.IsLeapYear(year);

            // Assert
            Assert.False(result);
        }
Пример #9
0
        public LeapYears SearchForLeapYears(LeapYears ly)
        {
            for (int i = ly.StartYear; i <= ly.EndYear; i++)
            {
                if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0))
                {
                    ly.Years.Add(i);
                }
            }

            return(ly);
        }
Пример #10
0
            public static void RunOne()
            {
                //EXERCISE1:
                //1. Write a program, which reads from the console a year and checks if it is a leap year.
                int userYear = PromptYear();

                if (LeapYears.CheckLeapYear(userYear) == false)
                {
                    Console.WriteLine("{0} is not a leap year", userYear);
                }
                else
                {
                    Console.WriteLine("{0} is a leap year", userYear);
                }


                Console.WriteLine("CORRECT");
            }
Пример #11
0
        public void FindLeapYears()
        {
            var ly = new LeapYears();

            ly.StartYear = 1899;
            ly.EndYear   = 1908;

            var leapFinder = new LeapYearFinder();
            var leaps      = leapFinder.SearchForLeapYears(ly);

            int[] exp = { 1904, 1908 };

            for (int i = 0; i < ly.Years.Count; i++)
            {
                Assert.AreEqual(exp[i], ly.Years[i]);
            }

            Assert.AreEqual(leaps.Years.Count, 2);
        }
Пример #12
0
 public void DivisibleByFourAndByOneHundredAndByFourHundredReturnsTrue(int year)
 {
     LeapYears.IsLeapYear(year).Should().Be(true);
 }
Пример #13
0
 public void DivisibleByFourAndByOneHundredButNotByFourHundredReturnsFalse(int year)
 {
     LeapYears.IsLeapYear(year).Should().Be(false);
 }
Пример #14
0
 public void NonDivisibleByFourReturnsFalse(int year)
 {
     LeapYears.IsLeapYear(year).Should().Be(false);
 }
Пример #15
0
        public void IsLeapYear_ShouldReturnFalse_WhenYearIsNegative(int number)
        {
            bool isLeap = LeapYears.IsLeapYear(number);

            Assert.That(isLeap, Is.False);
        }
Пример #16
0
 public void IsLeapYear_ShouldThrowArgumentException_WhenYearIsZero()
 {
     Assert.That(() => LeapYears.IsLeapYear(0), Throws.ArgumentException);
 }
Пример #17
0
 public static void Year1984()
 {
     Assert.AreEqual(true, LeapYears.IsLeapYear(1984), "Year 1984");
 }
Пример #18
0
 public static void Year2000()
 {
     Assert.AreEqual(true, LeapYears.IsLeapYear(2000), "Year 2000");
 }
Пример #19
0
 public static void Year2013()
 {
     Assert.AreEqual(false, LeapYears.IsLeapYear(2013), "Year 2013");
 }
Пример #20
0
 public void Calculate_leap_years(int start, int end, int expectedLeapYears) =>
 Assert.Equal(expectedLeapYears, LeapYears.NumberOfLeapYearsBetween(start, end));
Пример #21
0
        public void IsLeapYear_ShouldReturntrue_WhenYearIsSecolarFour(int number)
        {
            bool isLeap = LeapYears.IsLeapYear(number);

            Assert.That(isLeap, Is.True);
        }
Пример #22
0
 public static void Year1234()
 {
     Assert.AreEqual(false, LeapYears.IsLeapYear(1234), "Year 1234");
 }