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); }
public void PassphraseValidator_ComplexValidate_AllAnagramsInvalid() { // act var result = PassphraseValidator.ComplexValidate("oiii ioii iioi iiio"); // assert Assert.IsFalse(result); }
public void PassphraseValidator_ComplexValidate_ValidWhenLengthsDifferent() { // act var result = PassphraseValidator.ComplexValidate("a ab abc abd abf abj"); // assert Assert.IsTrue(result); }
public void PassphraseValidator_ComplexValidate_ValidOnlyTwoCharacters() { // act var result = PassphraseValidator.ComplexValidate("iiii oiii ooii oooi oooo"); // assert Assert.IsTrue(result); }
public void PassphraseValidator_ComplexValidate_SingleAnagramInvalid() { // act var result = PassphraseValidator.ComplexValidate("abcde xyz ecdab"); // assert Assert.IsFalse(result); }
public void PassphraseValidator_ComplexValidate_Valid() { // act var result = PassphraseValidator.ComplexValidate("abcde fghij"); // assert Assert.IsTrue(result); }
public void PassphraseValidator_AlmostInvalid() { // act var result = PassphraseValidator.BasicValidate("aa bb cc dd aaa"); // assert Assert.IsTrue(result); }
public void PassphraseValidator_SimpleInvalid() { // act var result = PassphraseValidator.BasicValidate("aa bb cc dd aa"); // assert Assert.IsFalse(result); }
public void PassphraseValidator_SimpleValid() { // act var result = PassphraseValidator.BasicValidate("aa bb cc dd ee"); // assert Assert.IsTrue(result); }
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)); }
public void SetupBase() { Validator = new PassphraseValidator(new IValidationRule[] { new NoDuplicateWords(), new NoAnagrams() }); }
public void OneTimeSetUp() { _passphraseValidator = new PassphraseValidator(); }
public void Start() { passphraseValidator = new PassphraseValidator(); }