public void ToStringOnEmptyNonCaptureGroupNodeShouldReturnEmptyNonCaptureGroup() { // Arrange var target = new NonCaptureGroupNode(); // Act var result = target.ToString(); // Assert result.ShouldBe("(?:)"); }
public void ToStringOnNonCaptureGroupNodeWithChildNodeShouldReturnEmptyNonCaptureGroupWithChildNode() { // Arrange var childNode = new CharacterNode('a'); var target = new NonCaptureGroupNode(childNode); // Act var result = target.ToString(); // Assert result.ShouldBe("(?:a)"); }
public void ToStringOnNonCaptureGroupNodeWithMultipleChildNodesShouldReturnEmptyNonCaptureGroupWithChildNodes() { // Arrange var childNodes = new List <RegexNode> { new CharacterNode('a'), new CharacterNode('b'), new CharacterNode('c') }; var target = new NonCaptureGroupNode(childNodes); // Act var result = target.ToString(); // Assert result.ShouldBe("(?:abc)"); }
public void ToStringOnNonCaptureGroupNodeWithprefixShouldReturnPrefixBeforeNonCaptureGroupNode() { // Arrange var comment = new CommentGroupNode("This is a comment."); var childNode = new CharacterNode('a'); var target = new NonCaptureGroupNode(childNode) { Prefix = comment }; // Act var result = target.ToString(); // Assert result.ShouldBe("(?#This is a comment.)(?:a)"); }
public void ChildNodesGetSpanShouldReturnTupleWithStartEqualToPreviousChildsStartPlusLengthStartingAt3() { // Arrange var childNodes = new List <RegexNode> { new CharacterNode('a'), new CharacterNode('b'), new CharacterNode('c') }; var target = new NonCaptureGroupNode(childNodes); // Act var(Start, Length) = target.ChildNodes.First().GetSpan(); var(Start2, Length2) = target.ChildNodes.ElementAt(1).GetSpan(); var(Start3, _) = target.ChildNodes.ElementAt(2).GetSpan(); // Assert Start.ShouldBe(3); Start2.ShouldBe(Start + Length); Start3.ShouldBe(Start2 + Length2); }