public void ExtractCodeUnits() { var codeUnits = extractor.Extract(CommonTestData.SimpleProgramWithMethodAndProperty); Assert.AreEqual(3, codeUnits.Count); CollectionAssert.AreEqual(new List <int> { 31, 45, 51 }, codeUnits.Select(u => u.FirstTokenIndex)); var methodBodyUnit = codeUnits[0]; var methodBodyExpectedKinds = new List <SyntaxKind> { SyntaxKind.OpenBraceToken, SyntaxKind.IdentifierToken, SyntaxKind.DotToken, SyntaxKind.IdentifierToken, SyntaxKind.OpenParenToken, SyntaxKind.StringLiteralToken, SyntaxKind.CloseParenToken, SyntaxKind.SemicolonToken, SyntaxKind.CloseBraceToken, }; Assert.AreEqual(methodBodyExpectedKinds.Count, methodBodyUnit.Tokens.Count); CollectionAssert.AreEqual(methodBodyExpectedKinds, methodBodyUnit.Tokens.Select(t => t.Kind())); }
private int GetTokensCount(string code, Language language) { var codeUnits = codeUnitsExtractor.Extract(code, language); return(codeUnits.Select(u => u.Tokens.Count).Sum()); }