Exemple #1
0
        public void FromCharacterShouldEscapeMetacharacters(char metacharacter)
        {
            // Act
            var result = EscapeCharacterNode.FromCharacter(metacharacter);

            // Assert
            result.Escape.ShouldBe(metacharacter.ToString());
            result.Character.ShouldBe(metacharacter);
            result.ToString().ShouldBe($"\\{metacharacter}");
        }
Exemple #2
0
        public void FromCharacterShouldEscapeEscapeCharacters(char escape, char character)
        {
            // Act
            var result = EscapeCharacterNode.FromCharacter(escape);

            // Assert
            result.Escape.ShouldBe(escape.ToString());
            result.Character.ShouldBe(character);
            result.ToString().ShouldBe($"\\{escape}");
        }
Exemple #3
0
        public void ToStringOnEscapeCharacterNodeWithPrefixShouldReturnPrefixBeforeEscapeCharacter()
        {
            // Arrange
            var comment = new CommentGroupNode("This is a comment.");
            var target  = EscapeCharacterNode.FromCharacter('a');

            target.Prefix = comment;

            // Act
            var result = target.ToString();

            // Assert
            result.ShouldBe(@"(?#This is a comment.)\a");
        }
Exemple #4
0
        public void CopyingEscapeNodeShouldCopyOriginalEscape()
        {
            // Arrange
            var target = EscapeCharacterNode.FromCharacter('a');

            // Act
            // RemoveNode returns a copy of the current node.
            var result = target.RemoveNode(new CharacterNode('x'));

            // Assert
            var escapeNode = result.ShouldBeOfType <EscapeCharacterNode>();

            escapeNode.Escape.ShouldBe(target.Escape);
            escapeNode.Character.ShouldBe(target.Character);
        }