public void ShouldRemoveEndOfLineNode() { // Arrange var endOfLineNode = new EndOfLineNode(); var childNodes = new List <RegexNode> { new CharacterNode('a'), new CharacterNode('b'), new CharacterNode('c'), endOfLineNode }; var rootNode = new ConcatenationNode(childNodes); var target = new AnchorRemovalMutator(); // Act var result = target.ApplyMutations(endOfLineNode, rootNode); // Assert var mutation = result.ShouldHaveSingleItem(); mutation.OriginalNode.ShouldBe(endOfLineNode); mutation.ReplacementNode.ShouldBeNull(); mutation.ReplacementPattern.ShouldBe("abc"); mutation.DisplayName.ShouldBe("Regex anchor removal mutation"); mutation.Description.ShouldBe("Anchor \"$\" was removed at offset 3."); }
public void ToStringShouldReturnDollarSign() { // Arrange var target = new EndOfLineNode(); // Act var result = target.ToString(); // Assert result.ShouldBe("$"); }
public void ToStringOnEndOfLineNodeWithPrefixShouldReturnCommentBeforeDollarSign() { // Arrange var comment = new CommentGroupNode("This is a comment."); var target = new EndOfLineNode() { Prefix = comment }; // Act var result = target.ToString(); // Assert result.ShouldBe("(?#This is a comment.)$"); }