var sut = new CharacterClassLiteralCharacters(value, false); Assert.That(sut.Value, Is.EqualTo(value)); Assert.That(sut.Matches(']'), Is.True); Assert.That(sut.Matches('^'), Is.True); Assert.That(sut.Matches('-'), Is.True); Assert.That(sut.Matches('\\'), Is.True); Assert.That(sut.Matches('e'), Is.False); Assert.That(sut.Matches('$'), Is.False); } [Test] public void CaseInsensitiveCharacterClassLiteralCharactersFromEscapedCharactersMatchesItsValue()
var sut = new CharacterClassLiteralCharacters(value, true); Assert.That(sut.Value, Is.EqualTo(value)); Assert.That(sut.Matches(']'), Is.True); Assert.That(sut.Matches('^'), Is.True); Assert.That(sut.Matches('-'), Is.True); Assert.That(sut.Matches('\\'), Is.True); Assert.That(sut.Matches('e'), Is.False); Assert.That(sut.Matches('$'), Is.False); } } }
private static IEnumerable<ICharacterClassPart> GetInternals(CharacterClassLiteralCharacters beginningDash, IEnumerable<ICharacterClassPart> internals, CharacterClassLiteralCharacters endDash) { if (beginningDash != null) { internals = new ICharacterClassPart[] { beginningDash }.Concat(internals); } if (endDash != null) { internals = internals.Concat(new ICharacterClassPart[] { endDash }); } return internals; }