예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        public void ImportStrings_BadStrings_AddsNoPasswords()
        {
            var sut = new sut.Database();

            Assert.Empty(sut.Passwords);

            Assert.Throws <ArgumentException>(
                () => {
                sut.Import(
                    new string[]
                {
                    "1-3 a: abcde",
                    "1-3 b: cdefg",
                    "2-9 c: ccccccccc",
                    "asdasfgasfasdfas"
                }
                    );
            }
                );

            Assert.Empty(sut.Passwords);
        }
예제 #4
0
        public void ImportFile_BadStrings_AddsNoPasswords()
        {
            var list    = new List <IPassword>();
            var reader  = new Mock <IFileReader>();
            var factory = new CharacterFrequencyPasswordPolicyFactory();

            reader.Setup(r => r.ReadFileByLines(It.IsAny <string>())).Returns(new string[]
            {
                "1-3 a: abcde",
                "1-3 b: cdefg",
                "2-9 c: ccccccccc",
                "asdasfgasfasdfas"
            });

            var sut = new sut.Database(list, reader.Object, factory);

            Assert.Empty(sut.Passwords);

            Assert.Throws <ArgumentException>(() => { sut.Import(string.Empty); });

            Assert.Empty(sut.Passwords);
        }