public void ImportStrings_GoodStrings_AddsPasswords() { var sut = new sut.Database(); Assert.Empty(sut.Passwords); sut.Import(new string[] { "1-3 a: abcde", "1-3 b: cdefg", "2-9 c: ccccccccc" }); Assert.NotEmpty(sut.Passwords); Assert.Equal(3, sut.Passwords.Count); Assert.Contains(new Password("1-3 a: abcde"), sut.Passwords); Assert.Contains(new Password("1-3 b: cdefg"), sut.Passwords); Assert.Contains(new Password("2-9 c: ccccccccc"), sut.Passwords); var factory = new CharacterPositionPasswordPolicyFactory(); Assert.DoesNotContain(new Password("1-3 a: abcde", factory), sut.Passwords); Assert.DoesNotContain(new Password("1-3 b: cdefg", factory), sut.Passwords); Assert.DoesNotContain(new Password("2-9 c: ccccccccc", factory), sut.Passwords); }
public void ImportFile_GoodStrings_AddsPasswords() { var list = new List <IPassword>(); var reader = new Mock <IFileReader>(); var factory = new CharacterPositionPasswordPolicyFactory(); reader.Setup(r => r.ReadFileByLines(It.IsAny <string>())).Returns(new string[] { "1-3 a: abcde", "1-3 b: cdefg", "2-9 c: ccccccccc" }); var sut = new sut.Database(list, reader.Object, factory); Assert.Empty(sut.Passwords); sut.Import(string.Empty); Assert.NotEmpty(sut.Passwords); Assert.Equal(3, sut.Passwords.Count); Assert.Contains(new Password("1-3 a: abcde", factory), sut.Passwords); Assert.Contains(new Password("1-3 b: cdefg", factory), sut.Passwords); Assert.Contains(new Password("2-9 c: ccccccccc", factory), sut.Passwords); }
public void PasswordMultiStringAndFactoryConstructor_GivenValidItems_SetsAppropriately() { var policyString = "5-9 b"; var password = "******"; var factory = new CharacterPositionPasswordPolicyFactory(); var sut = new sut.Password(policyString, password, factory); var policy = new sut.CharacterPositionPasswordPolicy(policyString); var nonMatchingPolicy = new sut.CharacterFrequencyPasswordPolicy(policyString); Assert.Equal(policy, sut.PasswordPolicy); Assert.NotEqual(nonMatchingPolicy, sut.PasswordPolicy); Assert.Equal(password, sut.PasswordCandidate); }