public void Test_PrintResultsOutputsDenominatorWords() { var outputLog = new StringBuilder(); var snapCrackle = new Library.SnapCrackle((s) => { outputLog.Append(s); }); var start = 1; var end = 10; var denominatorList = new List<Library.DenominatorWordPair>(); denominatorList.Add(new Library.DenominatorWordPair { Denominator = 2, Word = "bob" }); denominatorList.Add(new Library.DenominatorWordPair { Denominator = 3, Word = "sally" }); snapCrackle.PrintResults(start, end, denominatorList); var output = outputLog.ToString().Split(new[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); /* expected: 1 2 bob 3 sally ... 6 bobsally*/ NUnit.Framework.Assert.AreEqual(output[0], "1 "); NUnit.Framework.Assert.AreEqual(output[1], "2 bob"); NUnit.Framework.Assert.AreEqual(output[2], "3 sally"); NUnit.Framework.Assert.AreEqual(output[5], "6 bobsally"); }
public void Test_PrintResultsThrowsIfDenominatorListIsEmpty() { var snapCrackle = new Library.SnapCrackle(SnapCrackleTest.OutputDelegate); var start = 1; var end = 100; var denominatorList = new List<Library.DenominatorWordPair>(); NUnit.Framework.Assert.Throws<ArgumentException>(() => snapCrackle.PrintResults(start, end, denominatorList)); }
public void Test_PrintResultsOutputsCorrectNumberOfLines() { var outputLog = new StringBuilder(); var snapCrackle = new Library.SnapCrackle((s) => { outputLog.Append(s); }); var start = 1; var end = 10; var denominatorList = new List<Library.DenominatorWordPair>(); denominatorList.Add(new Library.DenominatorWordPair { Denominator = 2, Word = "bob" }); denominatorList.Add(new Library.DenominatorWordPair { Denominator = 3, Word = "sally" }); snapCrackle.PrintResults(start, end, denominatorList); var output = outputLog.ToString().Split(new[] { System.Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries); NUnit.Framework.Assert.AreEqual(output.Length, 10); }
public void Test_PrintResultsThrowsIfStartNotLessThanEnd() { var snapCrackle = new Library.SnapCrackle(SnapCrackleTest.OutputDelegate); var start = 10; var end = 8; var denominatorList = new List<Library.DenominatorWordPair>(new[] { new Library.DenominatorWordPair { Word = "Test", Denominator = 2 }}); NUnit.Framework.Assert.Throws<InvalidOperationException>(() => snapCrackle.PrintResults(start, end, denominatorList)); }
public void Test_PrintResultsThrowsIfDenominatorListIsNull() { var snapCrackle = new Library.SnapCrackle(SnapCrackleTest.OutputDelegate); var start = 1; var end = 100; NUnit.Framework.Assert.Throws<ArgumentException>(() => snapCrackle.PrintResults(start, end, null)); }
public static void Main(params string[] args) { // print 1-100 // divisible by 3 = snap // divisible by 5 = crackle // divisible by 3 and 5 = snap crackle var snapCrackle = new Library.SnapCrackle(DelegateMethod); var wordPairs = new List<Library.DenominatorWordPair>(); wordPairs.Add(new Library.DenominatorWordPair { Denominator = 2, Word = "bob" }); wordPairs.Add(new Library.DenominatorWordPair { Denominator = 3, Word = "sally" }); snapCrackle.PrintResults(1, 100, wordPairs); Console.ReadKey(); }