public void Day2Actual() { var solver = new Day2Solver(new FileReader(), new Day2Solver.DataParser(), new Day2Solver.PasswordChecker()); var result = solver.Solve(@"Data\Day2.txt"); Assert.AreEqual(517, result); }
public void Day2SolverTest() { //Arrange var passwordCheckerMock = new Mock <Day2Solver.IPasswordChecker>(); var dataParserMock = new Mock <Day2Solver.IDataParser>(); var fileReaderMock = new Mock <IReader>(); var daySolver = new Day2Solver(fileReaderMock.Object, dataParserMock.Object, passwordCheckerMock.Object); var testPath = "blaat"; var parsedTestData = new List <string> { "test", "data" }; var mockSpecs = new List <Day2Solver.PasswordSpecification>(); fileReaderMock.Setup(a => a.ReadText(testPath)).Returns("test\ndata"); var expectedValue = 1337; passwordCheckerMock.Setup(a => a.HowManyPasswordAreCorrect(mockSpecs)).Returns(expectedValue); //Act var result = daySolver.Solve(testPath); //Assert fileReaderMock.Verify(a => a.ReadText(testPath), Times.Once); dataParserMock.Verify(a => a.Parse(parsedTestData), Times.Once); passwordCheckerMock.Verify(a => a.HowManyPasswordAreCorrect(mockSpecs), Times.Once); Assert.AreEqual(expectedValue, result); }
static bool testDay2() { Day2Solver day2Solver = new Day2Solver("../PuzzleInputs/Day2/input.txt"); var output = day2Solver.Solve() as TwoPartPuzzleOutput; if ((long)output.Part1.Output != 5928) { System.Console.WriteLine($"Day2 Part1 solver solution is {output.Part1.Output} when it should have been 5928"); return(false); } if ((string)output.Part2.Output != "bqlporuexkwzyabnmgjqctvfs") { System.Console.WriteLine($"Day2 Part2 solver solution is {output.Part2.Output} when it should have been 'bqlporuexkwzyabnmgjqctvfs"); return(false); } return(true); }