Exemplo n.º 1
0
 public void TestLimits()
 {
     Assert.IsEmpty(FizzBuzz.Generate(0));
     Assert.IsEmpty(FizzBuzz.Generate(-1));
     Assert.IsEmpty(FizzBuzz.Generate(int.MinValue));
     Assert.IsNotEmpty(FizzBuzz.Generate(1));
 }
Exemplo n.º 2
0
        public void TestItems()
        {
            var sequence = FizzBuzz.Generate(1500);

            var fizz     = sequence.Where((item, index) => (index + 1) % 3 == 0 && (index + 1) % 5 != 0).Select(i => i);
            var buzz     = sequence.Where((item, index) => (index + 1) % 3 != 0 && (index + 1) % 5 == 0).Select(i => i);
            var fizzBuzz = sequence.Where((item, index) => (index + 1) % 15 == 0).Select(i => i);
            var numbers  = sequence.Where((item, index) => (index + 1) % 3 != 0 && (index + 1) % 5 != 0).Select(i => i);

            Assert.AreEqual(fizz.Count(), fizz.Count(item => item == "Fizz"));
            Assert.AreEqual(buzz.Count(), buzz.Count(item => item == "Buzz"));
            Assert.AreEqual(fizzBuzz.Count(), fizzBuzz.Count(item => item == "FizzBuzz"));
            Assert.AreEqual(800, numbers.Count(item => int.TryParse(item, out int result)));
        }
Exemplo n.º 3
0
        public void TestQuantities()
        {
            var sequence = FizzBuzz.Generate(1500);

            Assert.AreEqual(500, sequence.Count(item => item.Contains("Fizz")));
            Assert.AreEqual(300, sequence.Count(item => item.Contains("Buzz")));
            Assert.AreEqual(100, sequence.Count(item => item == "FizzBuzz"));

            Assert.AreEqual(800, sequence.Count(item => !item.Contains("Fizz") && !item.Contains("Buzz")));
            var div3  = sequence.Where((item, index) => (index + 1) % 3 == 0).Select(i => i);
            var div5  = sequence.Where((item, index) => (index + 1) % 5 == 0).Select(i => i);
            var div15 = sequence.Where((item, index) => (index + 1) % 15 == 0).Select(i => i);

            Assert.AreEqual(div3.Count(), div3.Count(item => item.Contains("Fizz")));
            Assert.AreEqual(div3.Count() - 100, div3.Count(item => item == "Fizz"));
            Assert.AreEqual(div5.Count(), div5.Count(item => item.Contains("Buzz")));
            Assert.AreEqual(div5.Count() - 100, div5.Count(item => item == "Buzz"));
            Assert.AreEqual(div15.Count(), div15.Count(item => item == "FizzBuzz"));
        }
Exemplo n.º 4
0
        public void Should_return_empty_string_for_range_with_a_lower_bound_of_less_than_1()
        {
            var fizzBuzz = new FizzBuzz();

            fizzBuzz.Generate(0, 0).ShouldBe(string.Empty);
        }
Exemplo n.º 5
0
        public void Should_return_string_for_range(int lowerBound, int upperBound, string expected)
        {
            var fizzBuzz = new FizzBuzz();

            fizzBuzz.Generate(lowerBound, upperBound).ShouldBe(expected);
        }
Exemplo n.º 6
0
        public string TestSelectedItems(int index, int count)
        {
            var sequence = FizzBuzz.Generate(count);

            return(sequence.Skip(index - 1).First());
        }