Forge
csharpdeeb25a2
1using CascadeIDE.Features.Editor.Application;
2using CascadeIDE.Services;
3using Microsoft.CodeAnalysis;
4using Xunit;
5
6namespace CascadeIDE.Tests;
7
8public class SemanticProjectionPipelineTests
9{
10 [Fact]
11 public void FromDiagnosticStrips_AggregatesSeverities()
12 {
13 IReadOnlyList<EditorDiagnosticStrip> strips =
14 [
15 new(0, 1, DiagnosticSeverity.Error, "E1", "m", 1, 1),
16 new(0, 1, DiagnosticSeverity.Error, "E2", "m", 1, 1),
17 new(0, 1, DiagnosticSeverity.Warning, "W1", "m", 1, 1),
18 new(0, 1, DiagnosticSeverity.Info, "I1", "m", 1, 1),
19 new(0, 1, DiagnosticSeverity.Hidden, "H1", "m", 1, 1),
20 ];
21
22 var s = SemanticProjectionPipeline.FromDiagnosticStrips(strips);
23 Assert.Equal(2, s.ErrorCount);
24 Assert.Equal(1, s.WarningCount);
25 Assert.Equal(1, s.InfoCount);
26 Assert.Equal(1, s.HintCount);
27 }
28
29 [Fact]
30 public void FromDiagnosticStrips_Empty_ZeroCounts()
31 {
32 var s = SemanticProjectionPipeline.FromDiagnosticStrips([]);
33 Assert.Equal(0, s.ErrorCount);
34 Assert.Equal(0, s.WarningCount);
35 Assert.Equal(0, s.InfoCount);
36 Assert.Equal(0, s.HintCount);
37 }
38}
39
View only · write via MCP/CIDE