Exemple #1
0
        public void InValid_PerfectSquare_Test()
        {
            var numtocheck = 50;
            var fbsquare   = new FBPerfectSquareItem(1);
            var result     = fbsquare.GetResult(numtocheck);

            Assert.IsTrue(result.Text != "Perfect Square!" && result.FBValue == numtocheck);
        }
Exemple #2
0
        public void All_Palindrome_PerfectSqaure_FizzBuzz_Test()
        {
            var sq = new int[] { 1, 4, 9, 16 };

            //Single digits are counted as pailndromes, but the perfect squares are left out.
            //So 1,4 & 9 are not included.
            var p = new int[] { 2, 3, 5, 6, 7, 8, 11 };


            var m15 = GetMultiplesByDivisor(15, numbers20).Where(n => !p.Contains(n) && !sq.Contains(n)).ToArray();
            var m3  = GetMultiplesByDivisor(3, numbers20).Where(n => !m15.Contains(n) && !p.Contains(n) && !sq.Contains(n)).ToArray();
            var m5  = GetMultiplesByDivisor(5, numbers20).Where(n => !m15.Contains(n) && !p.Contains(n) && !sq.Contains(n)).ToArray();


            var other = numbers20.Where(n => !m3.Contains(n) && !m5.Contains(n) && !m15.Contains(n) && !p.Contains(n) && !sq.Contains(n)).ToArray();

            var fb15 = new FBDivisorItem(15, "FizzBuzz");
            var fb5  = new FBDivisorItem(5, "Buzz");
            var fb3  = new FBDivisorItem(3, "Fizz");
            var fbp  = new FBPalindromeItem(20);
            var fbsq = new FBPerfectSquareItem(25);


            var fbproc = new FBProcessor(numbers20, new List <IFBItem> {
                fb15, fb5, fb3, fbp, fbsq
            });

            var procresults = fbproc.GetResults();

            var m3count  = procresults.Where(n => n.Text == "Fizz").Count();
            var m5count  = procresults.Where(n => n.Text == "Buzz").Count();
            var m15count = procresults.Where(n => n.Text == "FizzBuzz").Count();
            var pcount   = procresults.Where(n => n.Text == "Palindrome!").Count();
            var sqcount  = procresults.Where(n => n.Text == "Perfect Square!").Count();

            var othercount = procresults.Where(n => n.Text == null).Count();

            Assert.IsTrue(
                m3count == m3.Count() &&
                m5count == m5.Count() &&
                m15count == m15.Count() &&
                othercount == other.Count() &&
                pcount == p.Count() &&
                sqcount == sq.Count()
                );
        }