public void TestUnmatchedSpecificSurrogatePairByCodePoint()
        {
            var sample = char.ConvertFromUtf32(0x17DF6);

            var grammar = new Grammar();
            var parser = new SingleSurrogatePairTerminal(0x87FFF);
            grammar.Inner = parser.Named("char");

            var match = grammar.Match(sample);

            Assert.IsFalse(match.Success, match.ErrorMessage);
        }
        public void TestMatchingSpecificSurrogatePairByCodePoint()
        {
            var sample = char.ConvertFromUtf32(0x87FFF);

            var grammar = new Grammar();
            var parser = new SingleSurrogatePairTerminal(0x87FFF);
            grammar.Inner = parser.Named("char");

            var match = grammar.Match(sample);

            Assert.IsTrue(match.Success, match.ErrorMessage);
            Assert.AreEqual(0x87FFF, parser.GetValue(match.Find("char").Single()));
        }