public void Add_ThrowsException_WhenLetterAlreadyRegistered() { var parser = new ParserAlphabet(); parser.Add("e", Substitute.For <ITokenParser>()); Assert.Throws <ArgumentException>(() => parser.Add("e", Substitute.For <ITokenParser>())); }
public void TryGetTokenParser_ReturnsFalse_WhenLetterNotRegistered() { var parser = new ParserAlphabet(); var result = parser.TryGetTokenParser("e", out _); Assert.IsFalse(result); }
public void Add_ReturnsAlphabet_WhenLetterSuccessfullyAdded() { var parser = new ParserAlphabet(); var result = parser.Add("e", Substitute.For <ITokenParser>()); Assert.AreEqual(parser, result); }
public void RemoveCharacter_DoesNotThrow_WhenNonAlphabetCharacterIsRemoved() { var alphabet = new ParserAlphabet(); alphabet.Add("j", Substitute.For <ITokenParser>()).Add("a", Substitute.For <ITokenParser>()); Assert.DoesNotThrow(() => alphabet.RemoveCharacter("n")); }
public void IsValid_ReturnsFalse_WhenLetterWasNotAdded() { var parser = new ParserAlphabet(); var result = parser.IsValid("e"); Assert.IsFalse(result); }
public static IParserAlphabet Minimal(bool areRegexControlCharactersValid = true) { var parserAlphabet = new ParserAlphabet(); var primitiveParser = new PrimitiveParser(parserAlphabet); parserAlphabet.AddRegexControlCharacters(primitiveParser, areRegexControlCharactersValid); return(parserAlphabet); }
public void TryGetRange_ReturnsFailureResult_WhenOneOfTheArgumentsWasNotAdded(string start, string end) { var parser = new ParserAlphabet(); parser.Add("e", Substitute.For <ITokenParser>()); var result = parser.TryGetRange(start, end, out _); Assert.IsFalse(result.IsSuccess); }
public void IsValid_ReturnsTrue_WhenLetterWasAdded() { var parser = new ParserAlphabet(); parser.Add("e", Substitute.For <ITokenParser>()); var result = parser.IsValid("e"); Assert.IsTrue(result); }
private static ParserAlphabet GetParser(params string[] letters) { var parser = new ParserAlphabet(); foreach (var letter in letters) { parser.Add(letter, Substitute.For <ITokenParser>()); } return(parser); }
public void TryGetTokenParser_ReturnsTrue_WhenLetterRegistered() { var parser = new ParserAlphabet(); parser.Add("e", Substitute.For <ITokenParser>()); var result = parser.TryGetTokenParser("e", out var tokenParser); Assert.IsTrue(result); Assert.IsNotNull(tokenParser); }
public void TryGetTokenParser_ReturnsFalse_WhenInitiallyValidCharacterIsRemoved() { var alphabet = new ParserAlphabet(); alphabet.Add("F", Substitute.For <ITokenParser>()).Add("r", Substitute.For <ITokenParser>()); var getParserResult = alphabet.TryGetTokenParser("F", out _); Assert.IsTrue(getParserResult); alphabet.RemoveCharacter("F"); getParserResult = alphabet.TryGetTokenParser("F", out _); Assert.IsFalse(getParserResult); }
public void RemoveCharacter_RemovedCharacterNotValid_WhenWasCharacterWasValidAndAddedBefore() { var alphabet = new ParserAlphabet(); alphabet.Add("F", Substitute.For <ITokenParser>()).Add("r", Substitute.For <ITokenParser>()); var isValidResult = alphabet.IsValid("F"); Assert.IsTrue(isValidResult); alphabet.RemoveCharacter("F"); var isInvalidResult = alphabet.IsValid("F"); Assert.IsFalse(isInvalidResult); }
public void Add_ThrowsException_WhenTokenParserIsNull() { var parser = new ParserAlphabet(); Assert.Throws <ArgumentNullException>(() => parser.Add("e", null)); }
public void Add_ThrowsException_WhenLetterWithMoreThanOneCharacterIsAdded() { var parser = new ParserAlphabet(); Assert.Throws <ArgumentException>(() => parser.Add("ex", Substitute.For <ITokenParser>())); }
public void Add_ThrowsException_WhenLetterIsNull() { var parser = new ParserAlphabet(); Assert.Throws <ArgumentNullException>(() => parser.Add(null, Substitute.For <ITokenParser>())); }