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); }
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() ); }