public void ShouldReturnInputAsStringWhenGivenNumberIsNeitherDivisibleBy3or5(int input)
        {
            string actual   = FizzBuzzGenerator.Generate(input);
            string expected = input.ToString();

            Assert.AreEqual(expected, actual);
        }
Example #2
0
        public void GivenGenerateWhenNeitherMultiplesOfThreeOrFiveThenNoFizzAndOrBuzz()
        {
            var result = FizzBuzzGenerator.Generate("1", this.logger.Object);

            result.Should().Be(new KeyValuePair <string, string>("1", string.Empty));
            this.VerifyLogging("Queue Item '1', Item '1' with result of '' has been processed.", LogLevel.Information);
        }
        public void ShouldReturnStringFizzBuzzWhenGivenNumberIsDivisibleBy3And5(int input)
        {
            string actual   = FizzBuzzGenerator.Generate(input);
            string expected = "FizzBuzz";

            Assert.AreEqual(expected, actual);
        }
        public void ReturnBuzzForMultipleOf5()
        {
            var buzzGenerator = new FizzBuzzGenerator(new FizzBuzzMultiplesStrategy());
            var actual        = buzzGenerator.Generate(55);

            Assert.AreEqual("Buzz", actual);
        }
        public void FizzBuzzGenerate_30_OutputsFizzBuzz()
        {
            const string expected = "FizzBuzz";
            var          actual   = FizzBuzzGenerator.Generate(30);

            Assert.Equal(expected, actual);
        }
        public void FizzBuzzGenerate_4_Outputs4()
        {
            const string expected = "4";
            var          actual   = FizzBuzzGenerator.Generate(4);

            Assert.Equal(expected, actual);
        }
        public void FizzBuzzGenerate_7_Outputs7()
        {
            const string expected = "7";
            var          actual   = FizzBuzzGenerator.Generate(7);

            Assert.Equal(expected, actual);
        }
Example #8
0
        public void GivenGenerateWhenInvalidNumberThenHandleException()
        {
            Action action = () => FizzBuzzGenerator.Generate("x", this.logger.Object);

            action.Should().ThrowExactly <InvalidOperationException>().WithMessage("Fizz Buzz input 'x' should be a integer");
            this.VerifyLogging("System.InvalidOperationException: Fizz Buzz input 'x' should be a integer", LogLevel.Error);
        }
        public void FizzBuzzGenerate_2_Outputs2()
        {
            const string expected = "2";
            var          actual   = FizzBuzzGenerator.Generate(2);

            Assert.Equal(expected, actual);
        }
        public void ReturnNumber()
        {
            var buzzGenerator = new FizzBuzzGenerator(new FizzBuzzMultiplesStrategy());
            var actual        = buzzGenerator.Generate(1);

            Assert.AreEqual("1", actual);
        }
        public void ReturnBuzzForNumberThatContain5()
        {
            var buzzGenerator = new FizzBuzzGenerator(new FizzBuzzContainsStrategy());
            var actual        = buzzGenerator.Generate(51);

            Assert.AreEqual("Buzz", actual);
        }
Example #12
0
        public void GivenGenerateWhenMultiplesOfThreeAndFiveThenFizzBuzz()
        {
            var result = FizzBuzzGenerator.Generate("15", this.logger.Object);

            result.Should().Be(new KeyValuePair <string, string>("15", "FizzBuzz"));
            this.VerifyLogging("Queue Item '15', Item '15' with result of 'FizzBuzz' has been processed.", LogLevel.Information);
        }
        public void FizzBuzzGenerate_1_Outputs1()
        {
            const string expected = "1";
            var          actual   = FizzBuzzGenerator.Generate(1);

            Assert.Equal(expected, actual);
        }
        public void ConvertNumberToString(int input, string output)
        {
            // When
            var result = _fizzBuzzGenerator.Generate(input);

            // Then
            Assert.That(result, Is.EqualTo(output));
        }
        public void ShouldRaiseErrorWhenNumberIsNegative()
        {
            // Arrange
            int input = -100;

            // Act
            Action act = () => FizzBuzzGenerator.Generate(input);

            // Assert
            Assert.Throws <ArgumentException>(act);
        }
        public void Generate_NoMatch_ReturnsNumber()
        {
            // arrange
            var max       = 1;
            var processor = new FizzBuzzGenerator();

            // act
            var results = processor.Generate(max);

            // assert
            Assert.AreEqual($"1", results.First());
        }
Example #17
0
        // Divisible by 3 print fizz
        // Divisible by 5 print buzz
        // neither see the number
        // allow pass in number pairs, ie 8 -> hamburger
        // as many pairs as they want.
        // fully unit test the project
        // extra credit- Setup build script, Git Repo in a fashion to work in a continuous integration manor.
        // upload to github and send to rayne

        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to FizzBuzzGenerator CLI.");
            Console.WriteLine("Please enter the max number of iterations:");

            try
            {
                var max           = int.Parse(Console.ReadLine());
                var fizzProcessor = new FizzBuzzGenerator();
                var output        = fizzProcessor.Generate(max);
                foreach (var item in output)
                {
                    Console.WriteLine(item);
                }
                Console.WriteLine("Press any key to continue...");
                Console.ReadKey();
            }
            catch (Exception)
            {
                Console.WriteLine("Exception occurred. Could not parse input. Exiting...");
            }
        }
Example #18
0
 static void Main(string[] args)
 {
     Console.WriteLine(FizzBuzzGenerator.Generate(0));
 }
Example #19
0
        public void ReturnFizzIfNumberIsDivisibleByThree()
        {
            var result = _fizzBuzzGenerator.Generate(3);

            Assert.That(result, Is.EqualTo("Fizz"));
        }