/// <summary> /// Day 4 Answer 1 and 2 /// </summary> /// <param name="startRange"></param> /// <param name="endRange"></param> /// <param name="maxTwoAdjacent"></param> internal void GetNumberOfValidPasswords(int startRange, int endRange, bool maxTwoAdjacent) { var possiblePasswords = 0; var range = Enumerable.Range(startRange, (endRange + 1) - startRange - 1); foreach (var password in range) { if (_secureContainer.IsValid(password, maxTwoAdjacent)) { possiblePasswords++; } } if (maxTwoAdjacent) { Console.WriteLine($"The number of possible password, with max two adjacent numbers the same, in this range is {possiblePasswords}"); } else { Console.WriteLine($"The number of possible passwords in this range is {possiblePasswords}"); } }
public void PasswordDoesNotHaveOnlyTwoAdjacentDigits(int password) { var secureContainer = new SecureContainer(); Assert.IsFalse(secureContainer.IsValid(password, maxTwoAdjacent: true)); }
public void PasswordHasOnlyTwoAdjacentDigits(int password) { var secureContainer = new SecureContainer(); Assert.IsTrue(secureContainer.IsValid(password, maxTwoAdjacent: true)); }
public void PasswordDecreases(int password) { var secureContainer = new SecureContainer(); Assert.IsFalse(secureContainer.IsValid(password, maxTwoAdjacent: false)); }
public void PasswordIsSixDigits(int password) { var secureContainer = new SecureContainer(); Assert.IsTrue(secureContainer.IsValid(password, maxTwoAdjacent: false)); }