public void SplitInputCorrectly() { var testRule = "1-3 a: test"; var expectedRule = "1-3 a"; var expectedPassword = "******"; var actualSuccess = Number02.ExtractRuleAndPassoword(testRule, out var actualRule, out var actualPassword); Assert.True(actualSuccess); Assert.Equal(expectedRule, actualRule); Assert.Equal(expectedPassword, actualPassword); }
public void ExtractMinAndMaxOccurencesAndLetterCorrectly() { var testRule = "1-3 a"; var expectedMinOccur = 1; var expectedMaxOccur = 3; var expectedLetter = "a"; var actualSuccess = Number02.TryExtractRule(testRule, out var actualMinOccur, out var actualMaxOccur, out var actualLetter); Assert.True(actualSuccess); Assert.Equal(expectedMinOccur, actualMinOccur); Assert.Equal(expectedMaxOccur, actualMaxOccur); Assert.Equal(expectedLetter, actualLetter); }
public void CountsCorrectlyByRule1Correctly() { var testLine = "1-3 a: aabba"; var testRules = new List<string> { testLine }; var expectedCount = 1; var actualCounts = Number02.CountCorrectPasswordByFirstRule(testRules); Assert.Equal(expectedCount, actualCounts); var testFailedLine = "4-6 a: aabba"; var testFailedRules = new List<string> { testFailedLine }; var expectedFailCount = 0; var actualFailCount = Number02.CountCorrectPasswordByFirstRule(testFailedRules); Assert.Equal(expectedFailCount, actualFailCount); }