Exemplo n.º 1
0
        public override void Run()
        {
            Console.WriteLine("Day 4");
            var input = GetInput();

            var passphrases = input.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

            Console.WriteLine("Part 1");
            var validator = new PassphraseValidator(new IValidationRule[] { new NoDuplicateWords() });
            var count     = 0;

            foreach (var passphrase in passphrases)
            {
                if (validator.IsValid(passphrase))
                {
                    count++;
                }
            }

            Console.WriteLine(count);

            Console.WriteLine("Part 2");
            validator = new PassphraseValidator(new IValidationRule[] { new NoAnagrams() });
            count     = 0;
            foreach (var passphrase in passphrases)
            {
                if (validator.IsValid(passphrase))
                {
                    count++;
                }
            }

            Console.WriteLine(count);
        }
        public void CheckInvalidPassphrases(string input)
        {
            // Act
            var result = PassphraseValidator.IsValid(input);

            // Assert
            Assert.IsFalse(result);
        }
        public void CheckValidPassphrasesUsingLegacy(string input)
        {
            // Act
            var result = PassphraseValidator.IsValid(input, true);

            // Assert
            Assert.IsTrue(result);
        }
Exemplo n.º 4
0
        public void PassphraseValidator_ComplexValidate_AllAnagramsInvalid()
        {
            // act
            var result = PassphraseValidator.ComplexValidate("oiii ioii iioi iiio");

            // assert
            Assert.IsFalse(result);
        }
Exemplo n.º 5
0
        public void PassphraseValidator_ComplexValidate_ValidWhenLengthsDifferent()
        {
            // act
            var result = PassphraseValidator.ComplexValidate("a ab abc abd abf abj");

            // assert
            Assert.IsTrue(result);
        }
Exemplo n.º 6
0
        public void PassphraseValidator_ComplexValidate_ValidOnlyTwoCharacters()
        {
            // act
            var result = PassphraseValidator.ComplexValidate("iiii oiii ooii oooi oooo");

            // assert
            Assert.IsTrue(result);
        }
Exemplo n.º 7
0
        public void PassphraseValidator_ComplexValidate_SingleAnagramInvalid()
        {
            // act
            var result = PassphraseValidator.ComplexValidate("abcde xyz ecdab");

            // assert
            Assert.IsFalse(result);
        }
Exemplo n.º 8
0
        public void PassphraseValidator_ComplexValidate_Valid()
        {
            // act
            var result = PassphraseValidator.ComplexValidate("abcde fghij");

            // assert
            Assert.IsTrue(result);
        }
Exemplo n.º 9
0
        public void PassphraseValidator_AlmostInvalid()
        {
            // act
            var result = PassphraseValidator.BasicValidate("aa bb cc dd aaa");

            // assert
            Assert.IsTrue(result);
        }
Exemplo n.º 10
0
        public void PassphraseValidator_SimpleInvalid()
        {
            // act
            var result = PassphraseValidator.BasicValidate("aa bb cc dd aa");

            // assert
            Assert.IsFalse(result);
        }
Exemplo n.º 11
0
        public void PassphraseValidator_SimpleValid()
        {
            // act
            var result = PassphraseValidator.BasicValidate("aa bb cc dd ee");

            // assert
            Assert.IsTrue(result);
        }
Exemplo n.º 12
0
        public void Test2(string datafile, int expected)
        {
            var sut = new PassphraseValidator();

            var testFixture = TestFixture(datafile);
            var actual      = testFixture.Count(sut.IsValidPart2);

            Assert.That(actual, Is.EqualTo(expected));
        }
Exemplo n.º 13
0
 public void SetupBase()
 {
     Validator = new PassphraseValidator(new IValidationRule[] { new NoDuplicateWords(), new NoAnagrams() });
 }
Exemplo n.º 14
0
 public void OneTimeSetUp()
 {
     _passphraseValidator = new PassphraseValidator();
 }
Exemplo n.º 15
0
 public void Start()
 {
     passphraseValidator = new PassphraseValidator();
 }