Skip to content

Commit c4673c1

Browse files
committed
Add tests for singlet links and update comments for clarity
1 parent c0a4cf1 commit c4673c1

File tree

2 files changed

+47
-3
lines changed

2 files changed

+47
-3
lines changed

csharp/Platform.Protocols.Lino.Tests/EdgeCaseParserTests.cs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,50 @@ public static void TestAllFeaturesTest()
8181
Assert.NotEmpty(result);
8282
}
8383

84+
[Fact]
85+
public static void TestSingletLinks()
86+
{
87+
// Test singlet (1)
88+
var input = "(1)";
89+
var result = new Parser().Parse(input);
90+
Assert.Single(result);
91+
Assert.Equal("1", result[0].Id);
92+
Assert.Null(result[0].Values);
93+
94+
// Test (1 2)
95+
input = "(1 2)";
96+
result = new Parser().Parse(input);
97+
Assert.Single(result);
98+
Assert.Null(result[0].Id);
99+
Assert.NotNull(result[0].Values);
100+
Assert.Equal(2, result[0].Values.Count);
101+
Assert.Equal("1", result[0].Values[0].Id);
102+
Assert.Equal("2", result[0].Values[1].Id);
103+
104+
// Test (1 2 3)
105+
input = "(1 2 3)";
106+
result = new Parser().Parse(input);
107+
Assert.Single(result);
108+
Assert.Null(result[0].Id);
109+
Assert.NotNull(result[0].Values);
110+
Assert.Equal(3, result[0].Values.Count);
111+
Assert.Equal("1", result[0].Values[0].Id);
112+
Assert.Equal("2", result[0].Values[1].Id);
113+
Assert.Equal("3", result[0].Values[2].Id);
114+
115+
// Test (1 2 3 4)
116+
input = "(1 2 3 4)";
117+
result = new Parser().Parse(input);
118+
Assert.Single(result);
119+
Assert.Null(result[0].Id);
120+
Assert.NotNull(result[0].Values);
121+
Assert.Equal(4, result[0].Values.Count);
122+
Assert.Equal("1", result[0].Values[0].Id);
123+
Assert.Equal("2", result[0].Values[1].Id);
124+
Assert.Equal("3", result[0].Values[2].Id);
125+
Assert.Equal("4", result[0].Values[3].Id);
126+
}
127+
84128
[Fact]
85129
public static void TestEmptyDocumentTest()
86130
{

csharp/Platform.Protocols.Lino.Tests/SingleLineParserTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,10 +64,10 @@ public static void ParseSimpleReferenceTest()
6464
var links = parser.Parse(source);
6565
Assert.NotNull(links);
6666
Assert.Single(links);
67-
// Simple reference without colon creates a link with that ID
67+
// Simple reference creates a singlet link with that ID
6868
Assert.Equal("test", links[0]!.Id);
69-
// Values can be null for simple references
70-
Assert.True(links[0].Values?.Count == 0 || links[0].Values == null);
69+
// Values should be null for singlet links
70+
Assert.Null(links[0].Values);
7171
}
7272

7373
[Fact]

0 commit comments

Comments
 (0)