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}"); }
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}"); }
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}"); }
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}"); }
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}"); }
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}"); }
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"); }
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); }