Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            var fizzBuzzer = new FizzBuzzEngine(Console.Out, Rules.FizzRule, Rules.BuzzRule);

            fizzBuzzer.Run(15);
            Console.ReadLine();
        }
Ejemplo n.º 2
0
        public static void Main()
        {
            var engine = new FizzBuzzEngine <Startup>();

            engine.Build();
            engine.Run();
        }
Ejemplo n.º 3
0
        public void OutputShouldContainALineForEveryEntryBetween1AndTheUpperBound([Values(1, 10, 100, 1000, 42789)] int upperBound)
        {
            var writer = new FakeTextWriter();
            var engine = new FizzBuzzEngine(writer);

            engine.Run(upperBound);
            Assert.AreEqual(upperBound, writer.Results.Length);
        }
Ejemplo n.º 4
0
        public void Run_WithComplexStartup_RunsToCompletion()
        {
            var engine = new FizzBuzzEngine <ComplexFakeStartup>();

            engine.Build();
            engine.Run();

            Assert.IsTrue(ComplexFakeStartup.RanToCompletion);
        }
Ejemplo n.º 5
0
        public void Run_AfterBuild_CallsRunInStartupAndWaitsForCompletion()
        {
            var engine = new FizzBuzzEngine <SimpleFakeStartup>();

            engine.Build();
            engine.Run();

            Assert.IsTrue(SimpleFakeStartup.RanToCompletion);
        }
Ejemplo n.º 6
0
        private static void Main()
        {
            var engine = new FizzBuzzEngine <Startup>();

            engine.Build();
            engine.Run();

            Console.WriteLine("Press any key to exit");
            Console.ReadKey(true);
        }
Ejemplo n.º 7
0
        public void WhenNoRulesAreSpecifiedTheResultsShouldBeAListOfNumbers()
        {
            var writer = new FakeTextWriter();
            var engine = new FizzBuzzEngine(writer);

            engine.Run(15);
            Assert.AreEqual(15, writer.Results.Length);

            CollectionAssert.AreEquivalent(new [] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15" },
                                           writer.Results);
        }
Ejemplo n.º 8
0
        public void WhenMultipleRulesMatchBothValuesShouldBeOutput()
        {
            var writer = new FakeTextWriter();

            var engine = new FizzBuzzEngine(writer, Rules.FizzRule, Rules.BuzzRule);

            engine.Run(15);

            Assert.AreEqual(15, writer.Results.Length);
            Assert.AreEqual(writer.Results.Last(), "FizzBuzz");
        }
Ejemplo n.º 9
0
        public void NumbersDivisibleBy3ShouldOutputFizz()
        {
            var writer = new FakeTextWriter();

            var engine = new FizzBuzzEngine(writer, Rules.FizzRule);

            engine.Run(15);
            Assert.AreEqual("Fizz", writer.Results[2]);
            Assert.AreEqual("Fizz", writer.Results[5]);
            Assert.AreEqual("Fizz", writer.Results[8]);
            Assert.AreEqual("Fizz", writer.Results[11]);
            Assert.AreEqual("Fizz", writer.Results[14]);
        }
Ejemplo n.º 10
0
        public void Run_BeforeBuild_ThrowsInvalidOperationException()
        {
            var engine = new FizzBuzzEngine <SimpleFakeStartup>();

            Assert.Throws <InvalidOperationException>(() => engine.Run());
        }