Forge
csharpdeeb25a2
1using CascadeIDE.Features.WebAiPortal.Application;
2using Xunit;
3
4namespace CascadeIDE.Tests;
5
6public sealed class WebAiPortalBridgePayloadDedupTests
7{
8 [Fact]
9 public void TryCanonicalKey_WhitespaceInsensitivity_SameKey()
10 {
11 var loose = "{ \"command_id\" : \"ping\" ,\n \"args\": { } }";
12 var compact = "{\"command_id\":\"ping\",\"args\":{}}";
13
14 Assert.True(WebAiPortalBridgePayloadDedup.TryCanonicalKey(loose, out var k1));
15 Assert.True(WebAiPortalBridgePayloadDedup.TryCanonicalKey(compact, out var k2));
16 Assert.Equal(k1, k2);
17 }
18
19 [Fact]
20 public void TryCanonicalKey_DifferentSemantics_DifferentKey()
21 {
22 Assert.True(
23 WebAiPortalBridgePayloadDedup.TryCanonicalKey("{\"command_id\":\"a\",\"x\":1}", out var k1));
24 Assert.True(
25 WebAiPortalBridgePayloadDedup.TryCanonicalKey("{\"command_id\":\"a\",\"x\":2}", out var k2));
26 Assert.NotEqual(k1, k2);
27 }
28}
29
View only · write via MCP/CIDE