示例#1
0
        public void TestParsingComplexContent()
        {
            var contentTokens = new ContentTokenizer().Tokenize(ComplexContentLine);
            var allHexStrings = contentTokens.Where(t => t.Type == TokenType.HexString);

            Assert.Equal(8, allHexStrings.Count());
        }
示例#2
0
        public void TestParsingSimpleContent()
        {
            var contentTokens = new ContentTokenizer()
                                .Tokenize(SimpleContentLine)
                                .ToList();

            Assert.Equal(TokenType.HexString, contentTokens[0].Type);
            Assert.Equal(TokenType.HexString, contentTokens[1].Type);
        }
示例#3
0
        public void TestParsingMultilineStringContent()
        {
            string[] multilineContent = MultilineStringContentLine.Split('\n');
            var      tokenizer        = new ContentTokenizer();

            foreach (string contentLine in multilineContent)
            {
                var  contentTokens = tokenizer.Tokenize(contentLine);
                bool hasHexString  = contentTokens.Any(t => t.Type == TokenType.HexString);
                Assert.True(hasHexString);
            }
        }
示例#4
0
        public void TestTokenizeAttribs()
        {
            var attribTokener = new ContentTokenizer();
            var attribTokens  = attribTokener.Tokenize(BasicString);

            Assert.NotEmpty(attribTokens);
            Assert.Equal(TokenType.DictStart, attribTokens.First().Type);
            Assert.Equal(TokenType.DictEnd, attribTokens.Last().Type);

            // Check absence of whitespace tokens
            bool hasSpaceTokens = attribTokens.Any(t => t.Type == TokenType.Space);

            Assert.False(hasSpaceTokens);
        }