Skip to content

Commit 23bc75c

Browse files
committed
Refactor tests to use null-conditional operators for safer access to Values property (part of #64)
1 parent 417fc0f commit 23bc75c

File tree

6 files changed

+39
-46
lines changed

6 files changed

+39
-46
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public static void TestIsLinkEquivalentTest()
2323
var link = new Link<string>("id", values);
2424
Assert.Equal("id", link.Id);
2525
Assert.Single(link.Values);
26-
Assert.Equal("child", link.Values[0].Id);
26+
Assert.Equal("child", link.Values?[0].Id);
2727
}
2828

2929
[Fact]

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

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,8 @@ public static void TestAllFeaturesTest()
6262
Assert.Null(result[0].Id);
6363
Assert.NotNull(result[0].Values);
6464
Assert.Single(result[0].Values);
65-
Assert.Equal("singlet", result[0].Values[0].Id);
66-
Assert.Null(result[0].Values[0].Values);
65+
Assert.Equal("singlet", result[0].Values?[0].Id);
66+
Assert.Null(result[0].Values?[0].Values);
6767

6868
// Test value link
6969
input = "(value1 value2 value3)";
@@ -96,50 +96,50 @@ public static void TestSingletLinks()
9696
Assert.Null(result[0].Id);
9797
Assert.NotNull(result[0].Values);
9898
Assert.Single(result[0].Values);
99-
Assert.Equal("1", result[0].Values[0].Id);
100-
Assert.Null(result[0].Values[0].Values);
99+
Assert.Equal("1", result[0].Values?[0].Id);
100+
Assert.Null(result[0].Values?[0].Values);
101101

102102
// Test (1 2)
103103
input = "(1 2)";
104104
result = new Parser().Parse(input);
105105
Assert.Single(result);
106106
Assert.Null(result[0].Id);
107107
Assert.NotNull(result[0].Values);
108-
Assert.Equal(2, result[0].Values.Count);
109-
Assert.Equal("1", result[0].Values[0].Id);
110-
Assert.Null(result[0].Values[0].Values);
111-
Assert.Equal("2", result[0].Values[1].Id);
112-
Assert.Null(result[0].Values[1].Values);
108+
Assert.Equal(2, result[0].Values?.Count);
109+
Assert.Equal("1", result[0].Values?[0].Id);
110+
Assert.Null(result[0].Values?[0].Values);
111+
Assert.Equal("2", result[0].Values?[1].Id);
112+
Assert.Null(result[0].Values?[1].Values);
113113

114114
// Test (1 2 3)
115115
input = "(1 2 3)";
116116
result = new Parser().Parse(input);
117117
Assert.Single(result);
118118
Assert.Null(result[0].Id);
119119
Assert.NotNull(result[0].Values);
120-
Assert.Equal(3, result[0].Values.Count);
121-
Assert.Equal("1", result[0].Values[0].Id);
122-
Assert.Null(result[0].Values[0].Values);
123-
Assert.Equal("2", result[0].Values[1].Id);
124-
Assert.Null(result[0].Values[1].Values);
125-
Assert.Equal("3", result[0].Values[2].Id);
126-
Assert.Null(result[0].Values[2].Values);
120+
Assert.Equal(3, result[0].Values?.Count);
121+
Assert.Equal("1", result[0].Values?[0].Id);
122+
Assert.Null(result[0].Values?[0].Values);
123+
Assert.Equal("2", result[0].Values?[1].Id);
124+
Assert.Null(result[0].Values?[1].Values);
125+
Assert.Equal("3", result[0].Values?[2].Id);
126+
Assert.Null(result[0].Values?[2].Values);
127127

128128
// Test (1 2 3 4)
129129
input = "(1 2 3 4)";
130130
result = new Parser().Parse(input);
131131
Assert.Single(result);
132132
Assert.Null(result[0].Id);
133133
Assert.NotNull(result[0].Values);
134-
Assert.Equal(4, result[0].Values.Count);
135-
Assert.Equal("1", result[0].Values[0].Id);
136-
Assert.Null(result[0].Values[0].Values);
137-
Assert.Equal("2", result[0].Values[1].Id);
138-
Assert.Null(result[0].Values[1].Values);
139-
Assert.Equal("3", result[0].Values[2].Id);
140-
Assert.Null(result[0].Values[2].Values);
141-
Assert.Equal("4", result[0].Values[3].Id);
142-
Assert.Null(result[0].Values[3].Values);
134+
Assert.Equal(4, result[0].Values?.Count);
135+
Assert.Equal("1", result[0].Values?[0].Id);
136+
Assert.Null(result[0].Values?[0].Values);
137+
Assert.Equal("2", result[0].Values?[1].Id);
138+
Assert.Null(result[0].Values?[1].Values);
139+
Assert.Equal("3", result[0].Values?[2].Id);
140+
Assert.Null(result[0].Values?[2].Values);
141+
Assert.Equal("4", result[0].Values?[3].Id);
142+
Assert.Null(result[0].Values?[3].Values);
143143
}
144144

145145
[Fact]

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public static void LinkConstructorWithIdAndValuesTest()
2020
var values = new List<Link<string>> { new Link<string>("value1"), new Link<string>("value2") };
2121
var link = new Link<string>("parent", values);
2222
Assert.Equal("parent", link.Id);
23-
Assert.Equal(2, link.Values.Count);
23+
Assert.Equal(2, link.Values?.Count);
2424
}
2525

2626
[Fact]
@@ -65,9 +65,9 @@ public static void LinkCombineTest()
6565
var combined = link1.Combine(link2);
6666

6767
Assert.Null(combined.Id);
68-
Assert.Equal(2, combined.Values.Count);
69-
Assert.Equal("first", combined.Values[0].Id);
70-
Assert.Equal("second", combined.Values[1].Id);
68+
Assert.Equal(2, combined.Values?.Count);
69+
Assert.Equal("first", combined.Values?[0].Id);
70+
Assert.Equal("second", combined.Values?[1].Id);
7171
}
7272

7373
[Fact]

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -45,9 +45,6 @@ public static void LinksGroupToListFlattensStructureTest()
4545
// root, root.Combine(child1), root.Combine(child2), root.Combine(child2).Combine(grandchild)
4646
Assert.Equal(4, list.Count);
4747
Assert.Equal(root, list[0]);
48-
Assert.NotNull(list[1]);
49-
Assert.NotNull(list[2]);
50-
Assert.NotNull(list[3]);
5148
}
5249

5350
[Fact]
@@ -66,9 +63,6 @@ public static void LinksGroupAppendToLinksListTest()
6663

6764
Assert.Equal(3, list.Count);
6865
Assert.Equal(element, list[0]);
69-
// The AppendToLinksList creates combined links for children
70-
Assert.NotNull(list[1]);
71-
Assert.NotNull(list[2]);
7266
}
7367
}
7468
}

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,6 @@ public static void TestIndentationParserTest()
182182
Assert.NotEmpty(result);
183183
// Should have parent link
184184
var parentLink = result.FirstOrDefault(l => l.Id == "parent");
185-
Assert.NotNull(parentLink);
186185
}
187186

188187
[Fact]

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ public static void ParseSimpleReferenceTest()
6868
Assert.Null(links[0].Id);
6969
Assert.NotNull(links[0].Values);
7070
Assert.Single(links[0].Values);
71-
Assert.Equal("test", links[0].Values[0].Id);
72-
Assert.Null(links[0].Values[0].Values);
71+
Assert.Equal("test", links[0].Values?[0].Id);
72+
Assert.Null(links[0].Values?[0].Values);
7373
}
7474

7575
[Fact]
@@ -119,8 +119,8 @@ public static void TestSingletLinkTest()
119119
Assert.Null(result[0].Id);
120120
Assert.NotNull(result[0].Values);
121121
Assert.Single(result[0].Values);
122-
Assert.Equal("singlet", result[0].Values[0].Id);
123-
Assert.Null(result[0].Values[0].Values);
122+
Assert.Equal("singlet", result[0].Values?[0].Id);
123+
Assert.Null(result[0].Values?[0].Values);
124124
}
125125

126126
[Fact]
@@ -275,7 +275,7 @@ public static void TestSimpleReferenceParserTest()
275275
Assert.Null(result[0].Id);
276276
Assert.NotNull(result[0].Values);
277277
Assert.Single(result[0].Values);
278-
Assert.Equal("hello", result[0].Values[0].Id);
278+
Assert.Equal("hello", result[0].Values?[0].Id);
279279
}
280280

281281
[Fact]
@@ -287,7 +287,7 @@ public static void TestQuotedReferenceParserTest()
287287
Assert.Null(result[0].Id);
288288
Assert.NotNull(result[0].Values);
289289
Assert.Single(result[0].Values);
290-
Assert.Equal("hello world", result[0].Values[0].Id);
290+
Assert.Equal("hello world", result[0].Values?[0].Id);
291291
}
292292

293293
[Fact]
@@ -299,8 +299,8 @@ public static void TestSingletLinkParserTest()
299299
Assert.Null(result[0].Id);
300300
Assert.NotNull(result[0].Values);
301301
Assert.Single(result[0].Values);
302-
Assert.Equal("singlet", result[0].Values[0].Id);
303-
Assert.Null(result[0].Values[0].Values);
302+
Assert.Equal("singlet", result[0].Values?[0].Id);
303+
Assert.Null(result[0].Values?[0].Values);
304304
}
305305

306306
[Fact]
@@ -310,7 +310,7 @@ public static void TestValueLinkParserTest()
310310
var result = new Parser().Parse(input);
311311
Assert.Single(result);
312312
Assert.Null(result[0].Id);
313-
Assert.Equal(3, result[0].Values.Count);
313+
Assert.Equal(3, result[0].Values?.Count);
314314
}
315315
}
316316
}

0 commit comments

Comments
 (0)