Skip to content

Commit 6aca48c

Browse files
committed
Rely on compiler-detected generic types for XUnit tests
Previously, we explicitly specified the generic types for XUnit's `Assert.Equal<>()` to ensure that it didn't default to `Assert.Equal<object>()`. The compiler is now smart enough to correctly infer the expected generic type in these scenarios, so this isn't necessary.
1 parent bcf4c55 commit 6aca48c

21 files changed

Lines changed: 214 additions & 214 deletions

OnTopic.AspNetCore.Mvc.IntegrationTests/TopicViewResultExecutorTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ public async Task MissingView_ReturnsInternalServerError() {
163163
var uri = new Uri("/Web/MissingView/", UriKind.Relative);
164164
var response = await client.GetAsync(uri).ConfigureAwait(false);
165165

166-
Assert.Equal<HttpStatusCode?>(HttpStatusCode.InternalServerError, response.StatusCode);
166+
Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
167167

168168
}
169169

OnTopic.AspNetCore.Mvc.Tests/TopicRepositoryExtensionsTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void Load_ByRoute_ReturnsTopic() {
6262
var currentTopic = _topicRepository.Load(routes);
6363

6464
Assert.NotNull(currentTopic);
65-
Assert.Equal<Topic?>(topic, currentTopic);
65+
Assert.Equal(topic, currentTopic);
6666
Assert.Equal("Web_0_1_1", currentTopic?.Key);
6767

6868
}
@@ -84,7 +84,7 @@ public void Load_ByRoute_ReturnsRootTopic() {
8484
var currentTopic = _topicRepository.Load(routes);
8585

8686
Assert.NotNull(currentTopic);
87-
Assert.Equal<Topic?>(topic, currentTopic);
87+
Assert.Equal(topic, currentTopic);
8888
Assert.Equal("Root", currentTopic?.Key);
8989

9090
}

OnTopic.AspNetCore.Mvc.Tests/TopicViewComponentTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ public async Task Menu_Invoke_ReturnsNavigationViewModel() {
131131
Assert.NotNull(model);
132132
Assert.Equal(_topic.GetWebPath(), model?.CurrentWebPath);
133133
Assert.Equal("/Web/", model?.NavigationRoot?.WebPath);
134-
Assert.Equal<int?>(3, model?.NavigationRoot?.Children.Count);
134+
Assert.Equal(3, model?.NavigationRoot?.Children.Count);
135135

136136
}
137137

@@ -204,7 +204,7 @@ public async Task PageLevelNavigation_Invoke_ReturnsNavigationViewModel() {
204204
Assert.NotNull(model);
205205
Assert.Equal(_topic.GetWebPath(), model?.CurrentWebPath);
206206
Assert.Equal("/Web/Web_3/", model?.NavigationRoot?.WebPath);
207-
Assert.Equal<int?>(2, model?.NavigationRoot?.Children.Count);
207+
Assert.Equal(2, model?.NavigationRoot?.Children.Count);
208208
Assert.True(model?.NavigationRoot?.IsSelected(_topic.GetWebPath())?? false);
209209

210210
}

OnTopic.AspNetCore.Mvc.Tests/ValidateTopicAttributeTest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ public void NestedTopic_List_Returns403() {
204204
var result = context.Result as StatusCodeResult;
205205

206206
Assert.NotNull(result);
207-
Assert.Equal<int?>(403, result?.StatusCode);
207+
Assert.Equal(403, result?.StatusCode);
208208

209209
}
210210

@@ -231,7 +231,7 @@ public void NestedTopic_Item_Returns403() {
231231
var result = context.Result as StatusCodeResult;
232232

233233
Assert.NotNull(result);
234-
Assert.Equal<int?>(403, result?.StatusCode);
234+
Assert.Equal(403, result?.StatusCode);
235235

236236
}
237237

@@ -257,7 +257,7 @@ public void Container_Returns403() {
257257
var result = context.Result as StatusCodeResult;
258258

259259
Assert.NotNull(result);
260-
Assert.Equal<int?>(403, result?.StatusCode);
260+
Assert.Equal(403, result?.StatusCode);
261261

262262
}
263263

@@ -309,7 +309,7 @@ public void PageGroupTopic_Empty_ReturnsRedirect() {
309309
var result = context.Result as StatusCodeResult;
310310

311311
Assert.NotNull(result);
312-
Assert.Equal<int?>(403, result?.StatusCode);
312+
Assert.Equal(403, result?.StatusCode);
313313

314314
}
315315

OnTopic.Tests/AttributeCollectionTest.cs

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public void GetInteger_CorrectValue_IsReturned() {
109109

110110
topic.Attributes.SetInteger("Number1", 1);
111111

112-
Assert.Equal<int>(1, topic.Attributes.GetInteger("Number1", 5));
112+
Assert.Equal(1, topic.Attributes.GetInteger("Number1", 5));
113113

114114
}
115115

@@ -131,9 +131,9 @@ public void GetInteger_InheritedValue_IsReturned() {
131131

132132
baseTopic.Attributes.SetInteger("Number1", 1);
133133

134-
Assert.Equal<int>(1, topic.Attributes.GetInteger("Number1", 5));
135-
Assert.Equal<int>(1, childTopic.Attributes.GetInteger("Number1", 5, true));
136-
Assert.Equal<int>(0, topic.Attributes.GetInteger("Number1", inheritFromBase: false));
134+
Assert.Equal(1, topic.Attributes.GetInteger("Number1", 5));
135+
Assert.Equal(1, childTopic.Attributes.GetInteger("Number1", 5, true));
136+
Assert.Equal(0, topic.Attributes.GetInteger("Number1", inheritFromBase: false));
137137

138138
}
139139

@@ -150,8 +150,8 @@ public void GetInteger_IncorrectValue_ReturnsDefault() {
150150

151151
topic.Attributes.SetValue("Number3", "Invalid");
152152

153-
Assert.Equal<int>(0, topic.Attributes.GetInteger("Number3"));
154-
Assert.Equal<int>(5, topic.Attributes.GetInteger("Number3", 5));
153+
Assert.Equal(0, topic.Attributes.GetInteger("Number3"));
154+
Assert.Equal(5, topic.Attributes.GetInteger("Number3", 5));
155155

156156
}
157157

@@ -166,8 +166,8 @@ public void GetInteger_IncorrectKey_ReturnsDefault() {
166166

167167
var topic = new Topic("Test", "Container");
168168

169-
Assert.Equal<int>(0, topic.Attributes.GetInteger("InvalidKey"));
170-
Assert.Equal<int>(5, topic.Attributes.GetInteger("InvalidKey", 5));
169+
Assert.Equal(0, topic.Attributes.GetInteger("InvalidKey"));
170+
Assert.Equal(5, topic.Attributes.GetInteger("InvalidKey", 5));
171171

172172
}
173173

@@ -184,7 +184,7 @@ public void GetDouble_CorrectValue_IsReturned() {
184184

185185
topic.Attributes.SetDouble("Number1", 1);
186186

187-
Assert.Equal<double>(1.0, topic.Attributes.GetDouble("Number1", 5.0));
187+
Assert.Equal(1.0, topic.Attributes.GetDouble("Number1", 5.0));
188188

189189
}
190190

@@ -206,9 +206,9 @@ public void GetDouble_InheritedValue_IsReturned() {
206206

207207
baseTopic.Attributes.SetDouble("Number1", 1);
208208

209-
Assert.Equal<double>(1.0, topic.Attributes.GetDouble("Number1", 5.0));
210-
Assert.Equal<double>(1.0, childTopic.Attributes.GetDouble("Number1", 5.0, true));
211-
Assert.Equal<double>(0.0, topic.Attributes.GetInteger("Number1", inheritFromBase: false));
209+
Assert.Equal(1.0, topic.Attributes.GetDouble("Number1", 5.0));
210+
Assert.Equal(1.0, childTopic.Attributes.GetDouble("Number1", 5.0, true));
211+
Assert.Equal(0.0, topic.Attributes.GetInteger("Number1", inheritFromBase: false));
212212

213213
}
214214

@@ -225,8 +225,8 @@ public void GetDouble_IncorrectValue_ReturnsDefault() {
225225

226226
topic.Attributes.SetValue("Number3", "Invalid");
227227

228-
Assert.Equal<double>(0, topic.Attributes.GetDouble("Number3"));
229-
Assert.Equal<double>(5.0, topic.Attributes.GetDouble("Number3", 5.0));
228+
Assert.Equal(0.0, topic.Attributes.GetDouble("Number3"));
229+
Assert.Equal(5.0, topic.Attributes.GetDouble("Number3", 5.0));
230230

231231
}
232232

@@ -241,8 +241,8 @@ public void GetDouble_IncorrectKey_ReturnsDefault() {
241241

242242
var topic = new Topic("Test", "Container");
243243

244-
Assert.Equal<double>(0, topic.Attributes.GetDouble("InvalidKey"));
245-
Assert.Equal<double>(5.0, topic.Attributes.GetDouble("InvalidKey", 5.0));
244+
Assert.Equal(0.0, topic.Attributes.GetDouble("InvalidKey"));
245+
Assert.Equal(5.0, topic.Attributes.GetDouble("InvalidKey", 5.0));
246246

247247
}
248248

@@ -260,7 +260,7 @@ public void GetDateTime_CorrectValue_IsReturned() {
260260

261261
topic.Attributes.SetDateTime("DateTime1", dateTime1);
262262

263-
Assert.Equal<DateTime>(dateTime1, topic.Attributes.GetDateTime("DateTime1", DateTime.MinValue));
263+
Assert.Equal(dateTime1, topic.Attributes.GetDateTime("DateTime1", DateTime.MinValue));
264264

265265
}
266266

@@ -283,9 +283,9 @@ public void GetDateTime_InheritedValue_IsReturned() {
283283

284284
baseTopic.Attributes.SetDateTime("DateTime1", dateTime1);
285285

286-
Assert.Equal<DateTime>(dateTime1, topic.Attributes.GetDateTime("DateTime1", DateTime.Now));
287-
Assert.Equal<DateTime>(dateTime1, childTopic.Attributes.GetDateTime("DateTime1", DateTime.Now, true));
288-
Assert.Equal<DateTime>(new DateTime(), topic.Attributes.GetDateTime("DateTime1", inheritFromBase: false));
286+
Assert.Equal(dateTime1, topic.Attributes.GetDateTime("DateTime1", DateTime.Now));
287+
Assert.Equal(dateTime1, childTopic.Attributes.GetDateTime("DateTime1", DateTime.Now, true));
288+
Assert.Equal(new DateTime(), topic.Attributes.GetDateTime("DateTime1", inheritFromBase: false));
289289

290290
}
291291

@@ -303,8 +303,8 @@ public void GetDateTime_IncorrectValue_ReturnsDefault() {
303303

304304
topic.Attributes.SetValue("DateTime2", "IncorrectValue");
305305

306-
Assert.Equal<DateTime>(new DateTime(), topic.Attributes.GetDateTime("DateTime2"));
307-
Assert.Equal<DateTime>(dateTime1, topic.Attributes.GetDateTime("DateTime2", dateTime1));
306+
Assert.Equal(new DateTime(), topic.Attributes.GetDateTime("DateTime2"));
307+
Assert.Equal(dateTime1, topic.Attributes.GetDateTime("DateTime2", dateTime1));
308308

309309
}
310310

@@ -323,8 +323,8 @@ public void GetDateTime_IncorrectKey_ReturnsDefault() {
323323

324324
topic.Attributes.SetDateTime("DateTime2", dateTime2);
325325

326-
Assert.Equal<DateTime>(new DateTime(), topic.Attributes.GetDateTime("DateTime3"));
327-
Assert.Equal<DateTime>(dateTime1, topic.Attributes.GetDateTime("DateTime3", dateTime1));
326+
Assert.Equal(new DateTime(), topic.Attributes.GetDateTime("DateTime3"));
327+
Assert.Equal(dateTime1, topic.Attributes.GetDateTime("DateTime3", dateTime1));
328328

329329
}
330330

@@ -686,9 +686,9 @@ public void IsDirty_MarkClean_UpdatesLastModified() {
686686
topic.Attributes.TryGetValue("Bar", out var cleanedAttribute2);
687687
topic.Attributes.TryGetValue("Baz", out var cleanedAttribute3);
688688

689-
Assert.Equal<DateTime?>(firstVersion, cleanedAttribute1?.LastModified);
690-
Assert.Equal<DateTime?>(secondVersion, cleanedAttribute2?.LastModified);
691-
Assert.Equal<DateTime?>(thirdVersion, cleanedAttribute3?.LastModified);
689+
Assert.Equal(firstVersion, cleanedAttribute1?.LastModified);
690+
Assert.Equal(secondVersion, cleanedAttribute2?.LastModified);
691+
Assert.Equal(thirdVersion, cleanedAttribute3?.LastModified);
692692

693693
}
694694

@@ -874,7 +874,7 @@ public void Add_NumericValueWithBusinessLogic_IsReturned() {
874874

875875
topic.Attributes.SetInteger("NumericAttribute", 1);
876876

877-
Assert.Equal<int>(1, topic.NumericAttribute);
877+
Assert.Equal(1, topic.NumericAttribute);
878878

879879
}
880880

@@ -928,7 +928,7 @@ public void Add_DateTimeValueWithBusinessLogic_IsReturned() {
928928

929929
topic.Attributes.SetDateTime("DateTimeAttribute", dateTime);
930930

931-
Assert.Equal<DateTime>(dateTime, topic.DateTimeAttribute);
931+
Assert.Equal(dateTime, topic.DateTimeAttribute);
932932

933933
}
934934

OnTopic.Tests/ContentTypeDescriptorTest.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void ContentTypeDescriptor_PermittedContentTypes_ReturnsCollection() {
3939
page.Relationships.SetValue("ContentTypes", page);
4040
page.Relationships.SetValue("ContentTypes", video);
4141

42-
Assert.Equal<int>(2, page.PermittedContentTypes.Count);
42+
Assert.Equal(2, page.PermittedContentTypes.Count);
4343
Assert.Empty(video.PermittedContentTypes);
4444
Assert.Contains(page, page.PermittedContentTypes);
4545
Assert.Contains(video, page.PermittedContentTypes);
@@ -71,7 +71,7 @@ public void ContentTypeDescriptor_ResetPermittedContentTypes_ReturnsUpdated() {
7171
page.Relationships.Remove("ContentTypes", page);
7272
page.Relationships.SetValue("ContentTypes", slideshow);
7373

74-
Assert.Equal<int>(2, page.PermittedContentTypes.Count);
74+
Assert.Equal(2, page.PermittedContentTypes.Count);
7575
Assert.Contains(video, page.PermittedContentTypes);
7676
Assert.Contains(slideshow, page.PermittedContentTypes);
7777
Assert.DoesNotContain(page, page.PermittedContentTypes);
@@ -100,7 +100,7 @@ public void ContentTypeDescriptor_AttributeDescriptors_ReturnsInherited() {
100100
var urlAttribute = new AttributeDescriptor("Url", "AttributeDescriptor", videoAttributes);
101101

102102
Assert.Single(page.AttributeDescriptors);
103-
Assert.Equal<int>(2, video.AttributeDescriptors.Count);
103+
Assert.Equal(2, video.AttributeDescriptors.Count);
104104
Assert.Contains(titleAttribute, video.AttributeDescriptors);
105105
Assert.Contains(urlAttribute, video.AttributeDescriptors);
106106

@@ -134,7 +134,7 @@ public void ContentTypeDescriptor_ResetAttributeDescriptors_ReturnsUpdated() {
134134
page.ResetAttributeDescriptors();
135135

136136
Assert.Single(page.AttributeDescriptors);
137-
Assert.Equal<int>(2, video.AttributeDescriptors.Count);
137+
Assert.Equal(2, video.AttributeDescriptors.Count);
138138
Assert.Contains(descriptionAttribute, video.AttributeDescriptors);
139139
Assert.Contains(urlAttribute, video.AttributeDescriptors);
140140
Assert.DoesNotContain(titleAttribute, video.AttributeDescriptors);
@@ -199,7 +199,7 @@ public void ContentTypeDescriptorCollection_ConstructWithValues_ReturnsValues()
199199

200200
var contentTypeCollection = new ContentTypeDescriptorCollection(rootContentType);
201201

202-
Assert.Equal<int>(3, contentTypeCollection.Count);
202+
Assert.Equal(3, contentTypeCollection.Count);
203203

204204
}
205205

@@ -225,7 +225,7 @@ public void ContentTypeDescriptorCollection_Refresh_ReturnsUpdated() {
225225

226226
contentTypeCollection.Refresh(rootContentType);
227227

228-
Assert.Equal<int>(3, contentTypeCollection.Count);
228+
Assert.Equal(3, contentTypeCollection.Count);
229229
Assert.Contains(slideshowContentType, contentTypeCollection);
230230
Assert.DoesNotContain(videoContentType, contentTypeCollection);
231231

OnTopic.Tests/HierarchicalTopicMappingServiceTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ public async Task GetViewModel_WithTwoLevels_ReturnsGraph() {
150150
var viewModel = await _hierarchicalMappingService.GetViewModelAsync(rootTopic, 1).ConfigureAwait(false);
151151

152152
Assert.NotNull(viewModel);
153-
Assert.Equal<int?>(3, viewModel?.Children.Count);
153+
Assert.Equal(3, viewModel?.Children.Count);
154154
Assert.Empty(viewModel?.Children[0].Children);
155155

156156
}

OnTopic.Tests/ITopicRepositoryTest.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public void Load_Default_ReturnsTopicTopic() {
7272

7373
var rootTopic = _topicRepository.Load();
7474

75-
Assert.Equal<int?>(2, rootTopic?.Children.Count);
75+
Assert.Equal(2, rootTopic?.Children.Count);
7676
Assert.Equal("Configuration", rootTopic?.Children.First().Key);
7777
Assert.Equal("Web", rootTopic?.Children.Last().Key);
7878

@@ -138,12 +138,12 @@ public void Save() {
138138

139139
_topicRepository.Save(topic);
140140

141-
Assert.NotEqual<int>(-1, topic.Id);
142-
Assert.Equal<int>(-1, child.Id);
141+
Assert.NotEqual(-1, topic.Id);
142+
Assert.Equal(-1, child.Id);
143143

144144
_topicRepository.Save(topic, true);
145145

146-
Assert.NotEqual<int>(-1, child.Id);
146+
Assert.NotEqual(-1, child.Id);
147147

148148
}
149149

@@ -163,7 +163,7 @@ public void Move_ToNewParent_ConfirmedMove() {
163163

164164
_topicRepository.Move(topic, destination);
165165

166-
Assert.Equal<Topic?>(topic.Parent, destination);
166+
Assert.Equal(topic.Parent, destination);
167167
Assert.Single(source.Children);
168168
Assert.Single(destination.Children);
169169

@@ -184,8 +184,8 @@ public void Move_ToNewSibling_ConfirmedMove() {
184184

185185
_topicRepository.Move(topic, parent, sibling);
186186

187-
Assert.Equal<Topic?>(topic.Parent, parent);
188-
Assert.Equal<int>(2, parent.Children.Count);
187+
Assert.Equal(topic.Parent, parent);
188+
Assert.Equal(2, parent.Children.Count);
189189
Assert.Equal("Sibling", parent.Children.First().Key);
190190
Assert.Equal("Topic", parent.Children[1].Key);
191191

OnTopic.Tests/ITypeLookupServiceTest.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ public void Composite_LookupValidType_ReturnsType() {
3838
var lookupServiceB = new TopicViewModelLookupService();
3939
var compositeLookup = new CompositeTypeLookupService(lookupServiceA, lookupServiceB);
4040

41-
Assert.Equal<Type?>(typeof(SlideshowTopicViewModel), compositeLookup.Lookup(nameof(SlideshowTopicViewModel)));
42-
Assert.Equal<Type?>(typeof(MapToParentTopicViewModel), compositeLookup.Lookup(nameof(MapToParentTopicViewModel)));
41+
Assert.Equal(typeof(SlideshowTopicViewModel), compositeLookup.Lookup(nameof(SlideshowTopicViewModel)));
42+
Assert.Equal(typeof(MapToParentTopicViewModel), compositeLookup.Lookup(nameof(MapToParentTopicViewModel)));
4343
Assert.Null(compositeLookup.Lookup(nameof(Topic)));
4444

4545
}
@@ -57,7 +57,7 @@ public void DynamicTopicViewModelLookupService_LookupTopicViewModel_ReturnsFallb
5757
var lookupService = new DynamicTopicViewModelLookupService();
5858
var topicViewModel = lookupService.Lookup("FallbackTopicViewModel", "FallbackViewModel");
5959

60-
Assert.Equal<Type?>(typeof(FallbackViewModel), topicViewModel);
60+
Assert.Equal(typeof(FallbackViewModel), topicViewModel);
6161

6262
}
6363

@@ -74,7 +74,7 @@ public void TopicViewModelLookupService_LookupTopicViewModel_ReturnsFallbackView
7474
var lookupService = new FakeViewModelLookupService();
7575
var topicViewModel = lookupService.Lookup("FallbackTopicViewModel", "FallbackViewModel");
7676

77-
Assert.Equal<Type?>(typeof(FallbackViewModel), topicViewModel);
77+
Assert.Equal(typeof(FallbackViewModel), topicViewModel);
7878

7979
}
8080

0 commit comments

Comments
 (0)