public void FizBuzConfigDefaultShouldReturnExpectedConfig() { var expected3 = new FizBuzConfig(3, "fiz"); var expected5 = new FizBuzConfig(5, "buz"); var actual = FizBuzConfig.Default; Assert.IsNotNull(actual); Assert.AreEqual(2, actual.Count()); Assert.IsTrue(actual.Any(c => c.Message == expected3.Message && c.Message == expected3.Message), "Default config should contain divisor of 3 with message \"fiz\""); Assert.IsTrue(actual.Any(c => c.Message == expected5.Message && c.Message == expected5.Message), "Default config should contain divisor of 5 with message \"fiz\""); }
public void FizBuzShouldMatchConfiguredValues() { var configs = new FizBuzConfig[] { new FizBuzConfig(3, "fiz"), new FizBuzConfig(5, "buz"), new FizBuzConfig(10, "baz"), }; var target = new FizBuz(1, 100, configs); target.OnOutput += (sender, output, value) => { configs.Where(c => output.Contains(c.Message)).ToList() .ForEach(c => Assert.IsTrue(value % c.Divisor == 0, "FizBuz should not have output {1} as {0} is not divisible by {2} ({3})", value, output, c.Divisor, c.Message)); }; target.Run(); }
public void FizBuzConfigShouldThrowExceptionForEmptyString() { var config = new FizBuzConfig(3, string.Empty); }
public void FizBuzConfigShouldThrowExceptForZeroDivisor() { var config = new FizBuzConfig(0, "baz"); }
public void FizBuzConfigCtorShouldAssignValueToMessage() { var config = new FizBuzConfig(3, "baz"); Assert.AreEqual("baz", config.Message); }
public void FizBuzConfigCtorShouldAssignValueToDivsor() { var config = new FizBuzConfig(3, "baz"); Assert.AreEqual(3, config.Divisor); }