/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/EditorFeatures/TestUtilities2/Utilities/AssertEx.vb
41 строка
2 KB
Jason Malinowski
Remove AssertEx.Fail
21 апр 2026, 23:28
21 апр 2026, 23:28
7b44707
Код
Авторство
О чём код?
' Licensed to the .NET Foundation under one or more agreements. ' The .NET Foundation licenses this file to you under the MIT license. ' See the LICENSE file in the project root for more information. Imports Microsoft.CodeAnalysis Imports Microsoft.CodeAnalysis.VisualBasic Namespace Microsoft.CodeAnalysis.Editor.UnitTests.Utilities Public NotInheritable Class AssertEx Public Shared Sub TokensAreEqual(expected As String, fixedText As String, language As String) Dim expectedNewTokens = ParseTokens(expected, language) Dim actualNewTokens = ParseTokens(fixedText, language) If expectedNewTokens.Count <> actualNewTokens.Count Then Dim expectedDisplay = String.Join(" ", expectedNewTokens.Select(Function(t) t.ToString())) Dim actualDisplay = String.Join(" ", actualNewTokens.Select(Function(t) t.ToString())) Assert.Fail($"Wrong token count. Expected '{expectedNewTokens.Count}', Actual '{actualNewTokens.Count}', Expected Text: '{expectedDisplay}', Actual Text: '{actualDisplay}'") End If For i = 0 To actualNewTokens.Count - 1 Dim expectedToken As SyntaxToken = expectedNewTokens(i) Dim actualToken = actualNewTokens(i) If expectedToken.IsKind(SyntaxKind.StatementTerminatorToken) AndAlso actualToken.IsKind(SyntaxKind.StatementTerminatorToken) Then Continue For End If Assert.Equal(expectedToken.ToString(), actualToken.ToString()) Next End Sub Private Shared Function ParseTokens(expected As String, language As String) As IList(Of SyntaxToken) If language = LanguageNames.CSharp Then Return Microsoft.CodeAnalysis.CSharp.SyntaxFactory.ParseTokens(expected).Select(Function(t) CType(t, SyntaxToken)).ToList() Else Return SyntaxFactory.ParseTokens(expected).Select(Function(t) CType(t, SyntaxToken)).ToList() End If End Function End Class End Namespace