Esempio n. 1
0
        public void AssertTriangleSum(string fileName, int expectedResult)
        {
            TriangleWorker worker = null;

            switch (fileName)
            {
            case "good_data.txt":
                worker = CreateTriangleWorker(TriangleNodeData.triangleNodesCorrect);
                break;

            case "bad_data.txt":
                worker = CreateTriangleWorker(TriangleNodeData.triangleNodesNoPath);
                break;

            case "concurrent_data.txt":
                worker = CreateTriangleWorker(TriangleNodeData.triangleNodesTwoConcurrentChildren);
                break;
            }

            if (worker != null)
            {
                var triangle = worker.ProcessTriangle(fileName);

                Assert.That(triangle.FinalSum, Is.EqualTo(expectedResult));
            }
            else
            {
                Assert.Fail("Wrong file name is provided.");
            }
        }
Esempio n. 2
0
        public TriangleWorker CreateTriangleWorker(TriangleNode[][] triangleNodes)
        {
            Mock <IFileReader> reader = new Mock <IFileReader>();

            reader.Setup(r => r.PopulateFromFile(It.IsAny <string>())).Returns(new Triangle(triangleNodes));
            var worker = new TriangleWorker(reader.Object);

            return(worker);
        }