static void Main(string[] args) { var fizzBuzzer = new FizzBuzzEngine(Console.Out, Rules.FizzRule, Rules.BuzzRule); fizzBuzzer.Run(15); Console.ReadLine(); }
public static void Main() { var engine = new FizzBuzzEngine <Startup>(); engine.Build(); engine.Run(); }
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); }
public void Run_WithComplexStartup_RunsToCompletion() { var engine = new FizzBuzzEngine <ComplexFakeStartup>(); engine.Build(); engine.Run(); Assert.IsTrue(ComplexFakeStartup.RanToCompletion); }
public void Run_AfterBuild_CallsRunInStartupAndWaitsForCompletion() { var engine = new FizzBuzzEngine <SimpleFakeStartup>(); engine.Build(); engine.Run(); Assert.IsTrue(SimpleFakeStartup.RanToCompletion); }
private static void Main() { var engine = new FizzBuzzEngine <Startup>(); engine.Build(); engine.Run(); Console.WriteLine("Press any key to exit"); Console.ReadKey(true); }
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); }
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"); }
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]); }
public void Run_BeforeBuild_ThrowsInvalidOperationException() { var engine = new FizzBuzzEngine <SimpleFakeStartup>(); Assert.Throws <InvalidOperationException>(() => engine.Run()); }