Exemple #1
0
        public void FromUnicodeShouldEscape4DigitHexadecimalNumber(string hex, char character)
        {
            // Act
            var result = EscapeCharacterNode.FromUnicode(hex);

            // Assert
            result.Escape.ShouldBe($"u{hex}");
            result.Character.ShouldBe(character);
            result.ToString().ShouldBe($"\\u{hex}");
        }
Exemple #2
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 #3
0
        public void FromHexShould2DigitEscapeHexadecimalNumber(string hex, char character)
        {
            // Act
            var result = EscapeCharacterNode.FromHex(hex);

            // Assert
            result.Escape.ShouldBe($"x{hex}");
            result.Character.ShouldBe(character);
            result.ToString().ShouldBe($"\\x{hex}");
        }
Exemple #4
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 #5
0
        public void FromControlCharacterShouldEscape2Or3DigitOctalNumber(char control, char character)
        {
            // Act
            var result = EscapeCharacterNode.FromControlCharacter(control);

            // Assert
            result.Escape.ShouldBe($"c{control}");
            result.Character.ShouldBe(character);
            result.ToString().ShouldBe($"\\c{control}");
        }
Exemple #6
0
        public void FromOctalShouldEscape2Or3DigitOctalNumber(string oct, char character)
        {
            // Act
            var result = EscapeCharacterNode.FromOctal(oct);

            // Assert
            result.Escape.ShouldBe(oct);
            result.Character.ShouldBe(character);
            result.ToString().ShouldBe($"\\{oct}");
        }
Exemple #7
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 #8
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);
        }