// 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.
using System;
using System.Collections.Immutable;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.LanguageServer;
using Microsoft.CodeAnalysis.Diagnostics.CSharp;
using Microsoft.CodeAnalysis.Test.Utilities.LanguageServer;
namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.LanguageServer;
public class CSharpLspBuildOnlyDiagnosticsTests : AbstractLspBuildOnlyDiagnosticsTests
{
protected override Type ErrorCodeType => typeof(ErrorCode);
protected override Type LspBuildOnlyDiagnosticsType => typeof(CSharpLspBuildOnlyDiagnostics);
protected override ImmutableArray<string> ExpectedDiagnosticCodes
{
get
{
var errorCodes = Enum.GetValues(typeof(ErrorCode));
var supported = new CSharpCompilerDiagnosticAnalyzer().GetSupportedErrorCodes();
var builder = ImmutableArray.CreateBuilder<string>();
foreach (int errorCode in errorCodes)
{
if (!supported.Contains(errorCode) && errorCode > 0)
{
var errorCodeD4String = errorCode.ToString("D4");
builder.Add("CS" + errorCodeD4String);
}
}
return builder.ToImmutable();
}
}
}
|