Forge
csharpdeeb25a2
1using CascadeIDE.Features.Chat;
2using Xunit;
3
4namespace CascadeIDE.Tests;
5
6public sealed class ChatProductSpineTests
7{
8 [Fact]
9 public void BuildAgentContextPrefix_OnlyWhenEnabled()
10 {
11 var spine = new ChatProductSpine("CIDE", "Topic cards", ["ADR 0096"], IncludeInAgentContext: false);
12 Assert.Null(spine.BuildAgentContextPrefix());
13
14 spine = spine with { IncludeInAgentContext = true };
15 var prefix = spine.BuildAgentContextPrefix();
16 Assert.NotNull(prefix);
17 Assert.Contains("Topic cards", prefix, StringComparison.Ordinal);
18 Assert.Contains("ADR 0096", prefix, StringComparison.Ordinal);
19 }
20
21 [Fact]
22 public void ParseMilestonesText_TrimsAndCaps()
23 {
24 var lines = ChatProductSpine.ParseMilestonesText(" a \n\nb\n" + string.Join('\n', Enumerable.Range(0, 12).Select(i => i.ToString())));
25 Assert.Equal(8, lines.Count);
26 Assert.Equal("a", lines[0]);
27 }
28}
29
View only · write via MCP/CIDE