From 546688676bbc34d213d14a121d0c3347f478ed30 Mon Sep 17 00:00:00 2001 From: Doug Bunting Date: Tue, 24 Oct 2017 08:50:39 -0700 Subject: [PATCH] Add xUnit analyzers and take fixer suggestions (2 of 5): System.Web.Helpers.Test to System.Web.Http.SignalR.Test - part of #65 Few manual changes: - use `Assert.IsAssignableFrom(...)`, `Assert.IsType(...)` and `Assert.Single(...)` return values - suppress xUnit1013, Public method should be marked as test - mark a few methods as `private` for the same reason - work around xUnit1026, `[Theory]` method doesn't use all parameters - add `GC.KeepAlive(...)` --- test/System.Web.Helpers.Test/ChartTest.cs | 90 ++++++++--------- .../DynamicHelperTest.cs | 2 +- .../System.Web.Helpers.Test/ObjectInfoTest.cs | 96 +++++++++---------- .../PreComputedGridDataSourceTest.cs | 8 +- .../System.Web.Helpers.Test/ServerInfoTest.cs | 2 +- .../System.Web.Helpers.Test.csproj | 3 + .../WebGridDataSourceTest.cs | 8 +- test/System.Web.Helpers.Test/WebGridTest.cs | 78 +++++++-------- test/System.Web.Helpers.Test/WebImageTest.cs | 6 +- test/System.Web.Helpers.Test/WebMailTest.cs | 16 ++-- test/System.Web.Helpers.Test/packages.config | 2 + ...AttributeBasedPolicyProviderFactoryTest.cs | 13 ++- .../CorsHttpConfigurationExtensionsTest.cs | 18 ++-- .../CorsHttpResponseMessageExtensionsTest.cs | 12 +-- .../System.Web.Http.Cors.Test.csproj | 3 + .../CorsPolicyProviderFactoryTracerTest.cs | 2 +- .../System.Web.Http.Cors.Test/packages.config | 2 + .../ApiExplorer/ParameterSourceTest.cs | 10 +- .../ApiExplorer/RoutesTest.cs | 4 +- .../CustomFormatterTests.cs | 14 +-- .../HttpResponseReturnTests.cs | 10 +- .../Controllers/ActionAttributesTest.cs | 8 +- .../ApiControllerActionSelectorTest.cs | 4 +- .../HttpResponseExceptionTest.cs | 2 +- .../IncludeErrorDetailTest.cs | 2 +- .../ModelBinding/BodyBindingTests.cs | 4 +- .../ModelBinding/CustomBindingTests.cs | 2 +- .../DefaultActionValueBinderTest.cs | 80 ++++++++-------- .../ModelBinding/ModelBindingController.cs | 5 +- .../ModelBinding/QueryStringBindingTests.cs | 8 +- .../ModelBinding/RouteBindingTests.cs | 2 +- .../System.Web.Http.Integration.Test.csproj | 3 + .../packages.config | 2 + .../DefaultExceptionHandlerTests.cs | 9 +- .../HostAuthenticationAttributeTest.cs | 3 +- .../HostAuthenticationFilterTest.cs | 11 +-- .../HttpMessageHandlerAdapterTest.cs | 5 +- .../NonOwnedStreamTests.cs | 2 +- .../OwinHostIntegrationTest.cs | 2 + .../OwinHttpRequestContextTests.cs | 6 +- ...PassiveAuthenticationMessageHandlerTest.cs | 9 +- .../System.Web.Http.Owin.Test.csproj | 3 + .../System.Web.Http.Owin.Test/packages.config | 2 + .../DeeplyNestedTypeTests.cs | 2 +- .../HttpSelfHostConfigurationTest.cs | 12 ++- .../MaxHttpCollectionKeyTests.cs | 4 +- .../SelfHostHttpRequestContextTests.cs | 6 +- .../System.Web.Http.SelfHost.Test.csproj | 3 + .../packages.config | 2 + .../System.Web.Http.SignalR.Test.csproj | 3 + .../packages.config | 2 + 51 files changed, 316 insertions(+), 291 deletions(-) diff --git a/test/System.Web.Helpers.Test/ChartTest.cs b/test/System.Web.Helpers.Test/ChartTest.cs index e24740fbd..33943fb1a 100644 --- a/test/System.Web.Helpers.Test/ChartTest.cs +++ b/test/System.Web.Helpers.Test/ChartTest.cs @@ -26,8 +26,8 @@ public void BuildChartAddsDefaultArea() var chart = new Chart(GetContext(), GetVirtualPathProvider(), 100, 100); AssertBuiltChartAction(chart, c => { - Assert.Equal(1, c.ChartAreas.Count); - Assert.Equal("Default", c.ChartAreas[0].Name); + ChartArea chartArea = Assert.Single(c.ChartAreas); + Assert.Equal("Default", chartArea.Name); }); } @@ -38,10 +38,10 @@ public void XAxisOverrides() .SetXAxis("AxisX", 1, 100); AssertBuiltChartAction(chart, c => { - Assert.Equal(1, c.ChartAreas.Count); - Assert.Equal("AxisX", c.ChartAreas[0].AxisX.Title); - Assert.Equal(1, c.ChartAreas[0].AxisX.Minimum); - Assert.Equal(100, c.ChartAreas[0].AxisX.Maximum); + ChartArea chartArea = Assert.Single(c.ChartAreas); + Assert.Equal("AxisX", chartArea.AxisX.Title); + Assert.Equal(1, chartArea.AxisX.Minimum); + Assert.Equal(100, chartArea.AxisX.Maximum); }); } @@ -52,10 +52,10 @@ public void YAxisOverrides() .SetYAxis("AxisY", 1, 100); AssertBuiltChartAction(chart, c => { - Assert.Equal(1, c.ChartAreas.Count); - Assert.Equal("AxisY", c.ChartAreas[0].AxisY.Title); - Assert.Equal(1, c.ChartAreas[0].AxisY.Minimum); - Assert.Equal(100, c.ChartAreas[0].AxisY.Maximum); + ChartArea chartArea = Assert.Single(c.ChartAreas); + Assert.Equal("AxisY", chartArea.AxisY.Title); + Assert.Equal(1, chartArea.AxisY.Minimum); + Assert.Equal(100, chartArea.AxisY.Maximum); }); } @@ -71,7 +71,7 @@ public void ConstructorLoadsTemplate() public void ConstructorLoadsTheme() { //Vanilla theme - /* + /* * @@ -90,11 +90,11 @@ public void ConstructorLoadsTheme() var chart = new Chart(GetContext(), GetVirtualPathProvider(), 100, 100, theme: ChartTheme.Vanilla); AssertBuiltChartAction(chart, c => { - Assert.Equal(c.Palette, ChartColorPalette.SemiTransparent); + Assert.Equal(ChartColorPalette.SemiTransparent, c.Palette); Assert.Equal(c.BorderColor, Color.FromArgb(0, Color.Black)); - Assert.Equal(1, c.ChartAreas.Count); - Assert.False(c.ChartAreas[0].AxisX.MajorGrid.Enabled); - Assert.False(c.ChartAreas[0].AxisY.MinorGrid.Enabled); + ChartArea chartArea = Assert.Single(c.ChartAreas); + Assert.False(chartArea.AxisX.MajorGrid.Enabled); + Assert.False(chartArea.AxisY.MinorGrid.Enabled); }); } @@ -102,7 +102,7 @@ public void ConstructorLoadsTheme() public void ConstructorLoadsThemeAndTemplate() { //Vanilla theme - /* + /* * @@ -122,14 +122,14 @@ public void ConstructorLoadsThemeAndTemplate() var chart = new Chart(GetContext(), GetVirtualPathProvider(), 100, 100, theme: ChartTheme.Vanilla, themePath: template); AssertBuiltChartAction(chart, c => { - Assert.Equal(c.Palette, ChartColorPalette.SemiTransparent); + Assert.Equal(ChartColorPalette.SemiTransparent, c.Palette); Assert.Equal(c.BorderColor, Color.FromArgb(0, Color.Black)); - Assert.Equal(c.BorderlineDashStyle, ChartDashStyle.DashDot); - Assert.Equal(1, c.ChartAreas.Count); - Assert.Equal(c.Legends.Count, 1); - Assert.Equal(c.Legends[0].BackColor, Color.Red); - Assert.False(c.ChartAreas[0].AxisX.MajorGrid.Enabled); - Assert.False(c.ChartAreas[0].AxisY.MinorGrid.Enabled); + Assert.Equal(ChartDashStyle.DashDot, c.BorderlineDashStyle); + Legend legend = Assert.Single(c.Legends); + Assert.Equal(legend.BackColor, Color.Red); + ChartArea chartArea = Assert.Single(c.ChartAreas); + Assert.False(chartArea.AxisX.MajorGrid.Enabled); + Assert.False(chartArea.AxisY.MinorGrid.Enabled); }); } @@ -155,14 +155,14 @@ public void ConstructorLoadsThemeAndTemplate_VPPRegistrationChanging() // Assert AssertBuiltChartAction(chart, c => { - Assert.Equal(c.Palette, ChartColorPalette.SemiTransparent); + Assert.Equal(ChartColorPalette.SemiTransparent, c.Palette); Assert.Equal(c.BorderColor, Color.FromArgb(0, Color.Black)); - Assert.Equal(c.BorderlineDashStyle, ChartDashStyle.DashDot); - Assert.Equal(1, c.ChartAreas.Count); - Assert.Equal(c.Legends.Count, 1); - Assert.Equal(c.Legends[0].BackColor, Color.Red); - Assert.False(c.ChartAreas[0].AxisX.MajorGrid.Enabled); - Assert.False(c.ChartAreas[0].AxisY.MinorGrid.Enabled); + Assert.Equal(ChartDashStyle.DashDot, c.BorderlineDashStyle); + Legend legend = Assert.Single(c.Legends); + Assert.Equal(legend.BackColor, Color.Red); + ChartArea chartArea = Assert.Single(c.ChartAreas); + Assert.False(chartArea.AxisX.MajorGrid.Enabled); + Assert.False(chartArea.AxisY.MinorGrid.Enabled); }); Assert.Equal(1, provider1.FileExistsCalls); @@ -221,7 +221,7 @@ public void DataBindCrossTable() { Assert.Equal(2, c.Series.Count); Assert.Equal(2, c.Series[0].Points.Count); - Assert.Equal(1, c.Series[1].Points.Count); + Assert.Single(c.Series[1].Points); }); } @@ -281,8 +281,8 @@ public void DataBindTable() // todo - anything else to verify here? AssertBuiltChartAction(chart, c => { - Assert.Equal(1, c.Series.Count); - Assert.Equal(3, c.Series[0].Points.Count); + var series = Assert.Single(c.Series); + Assert.Equal(3, series.Points.Count); }); } @@ -300,8 +300,8 @@ public void DataBindTableWhenXFieldIsNull() // todo - anything else to verify here? AssertBuiltChartAction(chart, c => { - Assert.Equal(1, c.Series.Count); - Assert.Equal(3, c.Series[0].Points.Count); + var series = Assert.Single(c.Series); + Assert.Equal(3, series.Points.Count); }); } @@ -353,10 +353,10 @@ public void LegendDefaults() var chart = new Chart(GetContext(), GetVirtualPathProvider(), 100, 100).AddLegend(); AssertBuiltChartAction(chart, c => { - Assert.Equal(1, c.Legends.Count); + Legend legend = Assert.Single(c.Legends); // NOTE: Chart.Legends.Add will create default name - Assert.Equal("Legend1", c.Legends[0].Name); - Assert.Equal(1, c.Legends[0].BorderWidth); + Assert.Equal("Legend1", legend.Name); + Assert.Equal(1, legend.BorderWidth); }); } @@ -474,7 +474,7 @@ public void SaveXmlWritesToFile() chart.SaveXml(GetContext(), "SaveXmlWritesToFile.xml"); Assert.True(File.Exists("SaveXmlWritesToFile.xml")); string result = File.ReadAllText("SaveXmlWritesToFile.xml"); - Assert.True(result.Contains("BorderWidth=\"2\"")); + Assert.Contains("BorderWidth=\"2\"", result); } [Fact] @@ -531,8 +531,8 @@ public void SeriesOverrides() .AddSeries(chartType: "Bar"); AssertBuiltChartAction(chart, c => { - Assert.Equal(1, c.Series.Count); - Assert.Equal(SeriesChartType.Bar, c.Series[0].ChartType); + var series = Assert.Single(c.Series); + Assert.Equal(SeriesChartType.Bar, series.ChartType); }); } @@ -556,11 +556,11 @@ public void TitleDefaults() var chart = new Chart(GetContext(), GetVirtualPathProvider(), 100, 100).AddTitle(); AssertBuiltChartAction(chart, c => { - Assert.Equal(1, c.Titles.Count); + var title = Assert.Single(c.Titles); // NOTE: Chart.Titles.Add will create default name - Assert.Equal("Title1", c.Titles[0].Name); - Assert.Equal(String.Empty, c.Titles[0].Text); - Assert.Equal(1, c.Titles[0].BorderWidth); + Assert.Equal("Title1", title.Name); + Assert.Equal(String.Empty, title.Text); + Assert.Equal(1, title.BorderWidth); }); } diff --git a/test/System.Web.Helpers.Test/DynamicHelperTest.cs b/test/System.Web.Helpers.Test/DynamicHelperTest.cs index 5fcead088..15c2fb8e5 100644 --- a/test/System.Web.Helpers.Test/DynamicHelperTest.cs +++ b/test/System.Web.Helpers.Test/DynamicHelperTest.cs @@ -21,7 +21,7 @@ public void TryGetMemberValueReturnsValueIfBinderIsNotCSharp() bool result = DynamicHelper.TryGetMemberValue(dynamic, mockMemberBinder, out value); // Assert - Assert.Equal(value, "Bar"); + Assert.Equal("Bar", value); } private class MockMemberBinder : GetMemberBinder diff --git a/test/System.Web.Helpers.Test/ObjectInfoTest.cs b/test/System.Web.Helpers.Test/ObjectInfoTest.cs index 1635267df..ea38a4540 100644 --- a/test/System.Web.Helpers.Test/ObjectInfoTest.cs +++ b/test/System.Web.Helpers.Test/ObjectInfoTest.cs @@ -37,8 +37,8 @@ public void PrintWithNull() visitor.Print(null); // Assert - Assert.Equal(1, visitor.Values.Count); - Assert.Equal("null", visitor.Values[0]); + string value = Assert.Single(visitor.Values); + Assert.Equal("null", value); } [Fact] @@ -51,8 +51,8 @@ public void PrintWithEmptyString() visitor.Print(String.Empty); // Assert - Assert.Equal(1, visitor.Values.Count); - Assert.Equal(String.Empty, visitor.Values[0]); + string value = Assert.Single(visitor.Values); + Assert.Equal(String.Empty, value); } [Fact] @@ -65,8 +65,8 @@ public void PrintWithInt() visitor.Print(404); // Assert - Assert.Equal(1, visitor.Values.Count); - Assert.Equal("404", visitor.Values[0]); + string value = Assert.Single(visitor.Values); + Assert.Equal("404", value); } [Fact] @@ -99,7 +99,7 @@ public void PrintWithIEnumerable() // Assert foreach (var num in values) { - Assert.True(visitor.Values.Contains(num.ToString())); + Assert.Contains(num.ToString(), visitor.Values); } } @@ -116,8 +116,8 @@ public void PrintWithGenericIListPrintsIndex() // Assert for (int i = 0; i < values.Count; i++) { - Assert.True(visitor.Values.Contains(values[i].ToString())); - Assert.True(visitor.Indexes.Contains(i)); + Assert.Contains(values[i].ToString(), visitor.Values); + Assert.Contains(i, visitor.Indexes); } } @@ -134,8 +134,8 @@ public void PrintWithArrayPrintsIndex() // Assert for (int i = 0; i < values.Length; i++) { - Assert.True(visitor.Values.Contains(values[i].ToString())); - Assert.True(visitor.Indexes.Contains(i)); + Assert.Contains(values[i].ToString(), visitor.Values); + Assert.Contains(i, visitor.Indexes); } } @@ -148,7 +148,7 @@ public void PrintNameValueCollectionPrintsKeysAndValues() values["a"] = "1"; values["b"] = null; - // Act + // Act visitor.Print(values); // Assert @@ -165,7 +165,7 @@ public void PrintDateTime() MockObjectVisitor visitor = CreateObjectVisitor(); var dt = new DateTime(2001, 11, 20, 10, 30, 1); - // Act + // Act visitor.Print(dt); // Assert @@ -189,19 +189,19 @@ public void PrintCustomObjectPrintsMembers() using (new CultureReplacer("en-US")) { - // Act + // Act visitor.Print(person); // Assert Assert.Equal(9, visitor.Members.Count); - Assert.True(visitor.Members.Contains("double Age = 23.3")); - Assert.True(visitor.Members.Contains("string Name = David")); - Assert.True(visitor.Members.Contains("DateTime Dob = 11/19/1986 12:00:00 AM")); - Assert.True(visitor.Members.Contains("short Type = 1")); - Assert.True(visitor.Members.Contains("float Float = 0")); - Assert.True(visitor.Members.Contains("byte Byte = 0")); - Assert.True(visitor.Members.Contains("decimal Decimal = 0")); - Assert.True(visitor.Members.Contains("bool Bool = False")); + Assert.Contains("double Age = 23.3", visitor.Members); + Assert.Contains("string Name = David", visitor.Members); + Assert.Contains("DateTime Dob = 11/19/1986 12:00:00 AM", visitor.Members); + Assert.Contains("short Type = 1", visitor.Members); + Assert.Contains("float Float = 0", visitor.Members); + Assert.Contains("byte Byte = 0", visitor.Members); + Assert.Contains("decimal Decimal = 0", visitor.Members); + Assert.Contains("bool Bool = False", visitor.Members); } } @@ -223,10 +223,10 @@ public void PrintShowsVisitedWhenCircularReferenceInObjectGraph() // Act visitor.Print(node); - // Assert - Assert.True(visitor.Members.Contains("string Name = David")); - Assert.True(visitor.Members.Contains(String.Format("double Age = {0}", 23.3))); - Assert.True(visitor.Members.Contains("PersonNode Next = Visited")); + // Assert + Assert.Contains("string Name = David", visitor.Members); + Assert.Contains(String.Format("double Age = {0}", 23.3), visitor.Members); + Assert.Contains("PersonNode Next = Visited", visitor.Members); } [Fact] @@ -240,7 +240,7 @@ public void PrintShowsVisitedWhenCircularReferenceIsIEnumerable() // Act visitor.Print(values); - // Assert + // Assert Assert.Equal("Visited", visitor.Values[0]); Assert.Equal("Visited " + values.GetHashCode(), visitor.Visited[0]); } @@ -256,7 +256,7 @@ public void PrintShowsVisitedWhenCircularReferenceIsIDictionary() // Act visitor.Print(values); - // Assert + // Assert Assert.Equal("Visited", visitor.Values[0]); Assert.Equal("Visited " + values.GetHashCode(), visitor.Visited[0]); } @@ -275,9 +275,9 @@ public void PrintShowsVisitedWhenCircularReferenceIsNameValueCollection() // Act visitor.Print(values); - // Assert - Assert.True(visitor.Values.Contains("Visited")); - Assert.True(visitor.Visited.Contains("Visited " + nameValues.GetHashCode())); + // Assert + Assert.Contains("Visited", visitor.Values); + Assert.Contains("Visited " + nameValues.GetHashCode(), visitor.Visited); } [Fact] @@ -291,7 +291,7 @@ public void PrintExcludesWriteOnlyProperties() visitor.Print(cls); // Assert - Assert.Equal(0, visitor.Members.Count); + Assert.Empty(visitor.Members); } [Fact] @@ -309,14 +309,14 @@ public void PrintWritesEnumeratedElementsUntilLimitIsReached() { if (i < 1000) { - Assert.True(visitor.Values.Contains(i.ToString())); + Assert.Contains(i.ToString(), visitor.Values); } else { - Assert.False(visitor.Values.Contains(i.ToString())); + Assert.DoesNotContain(i.ToString(), visitor.Values); } } - Assert.True(visitor.Values.Contains("Limit Exceeded")); + Assert.Contains("Limit Exceeded", visitor.Values); } [Fact] @@ -330,8 +330,8 @@ public void PrintWithAnonymousType() visitor.Print(value); // Assert - Assert.True(visitor.Members.Contains("string Name = John")); - Assert.True(visitor.Members.Contains("int X = 1")); + Assert.Contains("string Name = John", visitor.Members); + Assert.Contains("int X = 1", visitor.Members); } [Fact] @@ -346,9 +346,9 @@ public void PrintClassWithPublicFields() // Actt visitor.Print(value); - // Assert - Assert.True(visitor.Members.Contains("string Foo = John")); - Assert.True(visitor.Members.Contains("int Bar = 1")); + // Assert + Assert.Contains("string Foo = John", visitor.Members); + Assert.Contains("int Bar = 1", visitor.Members); } [Fact] @@ -364,10 +364,10 @@ public void PrintClassWithDynamicMembersPrintsMembersIfGetDynamicMemberNamesIsIm // Act visitor.Print(d); - // Assert - Assert.True(visitor.Members.Contains("DynamicDictionary Cycle = Visited")); - Assert.True(visitor.Members.Contains("string Name = Foo")); - Assert.True(visitor.Members.Contains("Value = null")); + // Assert + Assert.Contains("DynamicDictionary Cycle = Visited", visitor.Members); + Assert.Contains("string Name = Foo", visitor.Members); + Assert.Contains("Value = null", visitor.Members); } [Fact] @@ -383,7 +383,7 @@ public void PrintClassWithDynamicMembersReturningNullPrintsNoMembers() // Act visitor.Print(d); - // Assert + // Assert Assert.False(visitor.Members.Any()); } @@ -425,7 +425,7 @@ public void PrintClassWithPropertyThatThrowsExceptionPrintsException() // Act visitor.Print(value); - // Assert + // Assert Assert.Equal("int MyProperty = Property accessor 'MyProperty' on object 'System.Web.Helpers.Test.ObjectInfoTest+ClassWithPropertyThatThrowsException' threw the following exception:'Property that shows an exception'", visitor.Members[0]); } @@ -457,7 +457,7 @@ public void PrintCharPrintsQuotedString() HtmlElement element = new HtmlElement("span"); printer.PushElement(element); - // Act + // Act printer.VisitConvertedValue('x', "x"); // Assert @@ -475,7 +475,7 @@ public void PrintEscapeCharPrintsEscapedCharAsLiteral() HtmlElement element = new HtmlElement("span"); printer.PushElement(element); - // Act + // Act printer.VisitConvertedValue('\t', "\t"); // Assert diff --git a/test/System.Web.Helpers.Test/PreComputedGridDataSourceTest.cs b/test/System.Web.Helpers.Test/PreComputedGridDataSourceTest.cs index fac1a4474..8ea02d796 100644 --- a/test/System.Web.Helpers.Test/PreComputedGridDataSourceTest.cs +++ b/test/System.Web.Helpers.Test/PreComputedGridDataSourceTest.cs @@ -27,13 +27,13 @@ public void PreSortedDataSourceReturnsAllRows() var grid = new WebGrid(GetContext()); var dataSource = new PreComputedGridDataSource(grid: grid, values: Enumerable.Range(0, 10).Cast(), totalRows: 10); - // Act + // Act var rows = dataSource.GetRows(new SortInfo { SortColumn = String.Empty }, 0); // Assert - Assert.Equal(rows.Count, 10); - Assert.Equal(rows.First().Value, 0); - Assert.Equal(rows.Last().Value, 9); + Assert.Equal(10, rows.Count); + Assert.Equal(0, rows.First().Value); + Assert.Equal(9, rows.Last().Value); } private HttpContextBase GetContext() diff --git a/test/System.Web.Helpers.Test/ServerInfoTest.cs b/test/System.Web.Helpers.Test/ServerInfoTest.cs index 178bbf2f7..e0a952436 100644 --- a/test/System.Web.Helpers.Test/ServerInfoTest.cs +++ b/test/System.Web.Helpers.Test/ServerInfoTest.cs @@ -111,7 +111,7 @@ public void ServerInfoProducesLegacyCasForNonHomogenousAppDomain() // Assert Assert.True(configValue.ContainsKey("Legacy Code Access Security")); - Assert.Equal(configValue["Legacy Code Access Security"], "Legacy Code Access Security has been detected on your system. Microsoft WebPage features require the ASP.NET 4 Code Access Security model. For information about how to resolve this, contact your server administrator."); + Assert.Equal("Legacy Code Access Security has been detected on your system. Microsoft WebPage features require the ASP.NET 4 Code Access Security model. For information about how to resolve this, contact your server administrator.", configValue["Legacy Code Access Security"]); }; AppDomainUtils.RunInSeparateAppDomain(GetAppDomainSetup(legacyCasEnabled: true), action); diff --git a/test/System.Web.Helpers.Test/System.Web.Helpers.Test.csproj b/test/System.Web.Helpers.Test/System.Web.Helpers.Test.csproj index 7f5fc747f..90c93254e 100644 --- a/test/System.Web.Helpers.Test/System.Web.Helpers.Test.csproj +++ b/test/System.Web.Helpers.Test/System.Web.Helpers.Test.csproj @@ -93,6 +93,9 @@ + + + diff --git a/test/System.Web.Helpers.Test/WebGridDataSourceTest.cs b/test/System.Web.Helpers.Test/WebGridDataSourceTest.cs index aba705461..5b7bdc88d 100644 --- a/test/System.Web.Helpers.Test/WebGridDataSourceTest.cs +++ b/test/System.Web.Helpers.Test/WebGridDataSourceTest.cs @@ -196,7 +196,7 @@ public void WebGridDataSourceReturnsPagedResultsIfRowsPerPageIsSpecified() var rows = dataSource.GetRows(new SortInfo(), 0); // Assert - Assert.Equal(rows.Count, 2); + Assert.Equal(2, rows.Count); Assert.Equal(rows.ElementAt(0).Value.LastName, "B2"); Assert.Equal(rows.ElementAt(1).Value.LastName, "A2"); } @@ -212,7 +212,7 @@ public void WebGridDataSourceReturnsPagedSortedResultsIfRowsPerPageAndSortAreSpe var rows = dataSource.GetRows(new SortInfo { SortColumn = "LastName", SortDirection = SortDirection.Descending }, 0); // Assert - Assert.Equal(rows.Count, 2); + Assert.Equal(2, rows.Count); Assert.Equal(rows.ElementAt(0).Value.LastName, "E2"); Assert.Equal(rows.ElementAt(1).Value.LastName, "D2"); } @@ -228,7 +228,7 @@ public void WebGridDataSourceReturnsFewerThanRowsPerPageIfNumberOfItemsIsInsuffi var rows = dataSource.GetRows(new SortInfo(), 1); // Assert - Assert.Equal(rows.Count, 2); + Assert.Equal(2, rows.Count); Assert.Equal(rows.ElementAt(0).Value.LastName, "C2"); Assert.Equal(rows.ElementAt(1).Value.LastName, "E2"); } @@ -244,7 +244,7 @@ public void WebGridDataSourceDoesNotThrowIfValuesAreNull() var rows = dataSource.GetRows(new SortInfo(), 0); // Assert - Assert.Equal(rows.Count, 2); + Assert.Equal(2, rows.Count); Assert.Equal(rows.ElementAt(0).Value, String.Empty); Assert.Null(rows.ElementAt(1).Value); } diff --git a/test/System.Web.Helpers.Test/WebGridTest.cs b/test/System.Web.Helpers.Test/WebGridTest.cs index 14c01ca46..2e2b23e1b 100644 --- a/test/System.Web.Helpers.Test/WebGridTest.cs +++ b/test/System.Web.Helpers.Test/WebGridTest.cs @@ -22,11 +22,11 @@ public void AjaxCheckedOnlyOnce() var grid = new WebGrid(GetContext(), ajaxUpdateContainerId: "grid") .Bind(new[] { new { First = "First", Second = "Second" } }); string html = grid.Table().ToString(); - Assert.True(html.Contains("" @@ -2172,9 +2172,9 @@ public void TableDoesNotThrowIfUnsortableColumnIsDefaultSortColumn() var html = grid.Table(); // Assert - Assert.Equal(grid.Rows[0]["Salary"], 5); - Assert.Equal(grid.Rows[1]["Salary"], 10); - Assert.Equal(grid.Rows[2]["Salary"], 15); + Assert.Equal(5, grid.Rows[0]["Salary"]); + Assert.Equal(10, grid.Rows[1]["Salary"]); + Assert.Equal(15, grid.Rows[2]["Salary"]); UnitTestHelper.AssertEqualsIgnoreWhitespace( "" diff --git a/test/System.Web.Helpers.Test/WebImageTest.cs b/test/System.Web.Helpers.Test/WebImageTest.cs index e76fe58ce..ceb25c486 100644 --- a/test/System.Web.Helpers.Test/WebImageTest.cs +++ b/test/System.Web.Helpers.Test/WebImageTest.cs @@ -385,7 +385,7 @@ public void ResizePreservesFormat() image.Resize(200, 100, preserveAspectRatio: true, preventEnlarge: true); // Assert - Assert.Equal(image.ImageFormat, "png"); + Assert.Equal("png", image.ImageFormat); image.Save(GetContext(), saveAction, @"x:\1.png", null, false); using (Image modified = Image.FromStream(output)) @@ -980,7 +980,7 @@ public void SaveUsesOriginalFormatWhenNoFormatIsSpecified() image.Save(GetContext(), saveAction, filePath: specifiedOutputFile, imageFormat: null, forceWellKnownExtension: true); // Assert - Assert.Equal(Path.GetExtension(actualOutputFile), ".png"); + Assert.Equal(".png", Path.GetExtension(actualOutputFile)); } [Fact] @@ -997,7 +997,7 @@ public void SaveUsesOriginalFormatForStreamsWhenNoFormatIsSpecified() image.Save(GetContext(), saveAction, filePath: specifiedOutputFile, imageFormat: null, forceWellKnownExtension: true); // Assert - Assert.Equal(Path.GetExtension(actualOutputFile), ".png"); + Assert.Equal(".png", Path.GetExtension(actualOutputFile)); } [Fact] diff --git a/test/System.Web.Helpers.Test/WebMailTest.cs b/test/System.Web.Helpers.Test/WebMailTest.cs index a094521b0..f6dffcbb3 100644 --- a/test/System.Web.Helpers.Test/WebMailTest.cs +++ b/test/System.Web.Helpers.Test/WebMailTest.cs @@ -214,8 +214,8 @@ public void SetPropertiesOnMessageTest_SetsAllInfoCorrectlyOnMailMessageTest() Assert.Equal(Encoding.UTF8, message.BodyEncoding); Assert.Equal(Encoding.Unicode, message.HeadersEncoding); - Assert.True(message.Headers.AllKeys.Contains("header1")); - Assert.True(message.Attachments.Count == 1); + Assert.Contains("header1", message.Headers.AllKeys); + Assert.Single(message.Attachments); } finally { @@ -254,7 +254,7 @@ public void AssignHeaderValuesIgnoresMalformedHeaders() WebMail.AssignHeaderValues(message, headers); // Assert - Assert.Equal(1, message.Headers.Count); + Assert.Single(message.Headers); Assert.Equal("foo1", message.Headers.AllKeys[0]); Assert.Equal("bar1", message.Headers[0]); } @@ -318,7 +318,7 @@ public void AssignHeaderDoesNotThrowIfPriorityValueIsInvalid() Assert.Equal(MailPriority.Normal, message.Priority); // Assert we transparently set header values - Assert.Equal(1, message.Headers.Count); + Assert.Single(message.Headers); Assert.Equal("Priority", message.Headers.Keys[0]); Assert.Equal("invalid-value", message.Headers["Priority"]); } @@ -334,10 +334,10 @@ public void AssignHeaderDoesNotThrowIfMailAddressIsInvalid() WebMail.AssignHeaderValues(message, headers); // Assert - Assert.Equal(0, message.To.Count); + Assert.Empty(message.To); // Assert we transparently set header values - Assert.Equal(1, message.Headers.Count); + Assert.Single(message.Headers); Assert.Equal("To", message.Headers.Keys[0]); Assert.Equal("not-#-email@@", message.Headers["To"]); } @@ -353,10 +353,10 @@ public void AssignHeaderDoesNotThrowIfKnownHeaderValuesAreEmptyOrMalformed() WebMail.AssignHeaderValues(message, headers); // Assert - Assert.Equal(0, message.To.Count); + Assert.Empty(message.To); // Assert we transparently set header values - Assert.Equal(1, message.Headers.Count); + Assert.Single(message.Headers); Assert.Equal("Priority", message.Headers.Keys[0]); Assert.Equal("false", message.Headers["Priority"]); } diff --git a/test/System.Web.Helpers.Test/packages.config b/test/System.Web.Helpers.Test/packages.config index 2debdd5e9..5b08c0915 100644 --- a/test/System.Web.Helpers.Test/packages.config +++ b/test/System.Web.Helpers.Test/packages.config @@ -2,7 +2,9 @@ + + diff --git a/test/System.Web.Http.Cors.Test/AttributeBasedPolicyProviderFactoryTest.cs b/test/System.Web.Http.Cors.Test/AttributeBasedPolicyProviderFactoryTest.cs index 1ebf8c522..521f41c2c 100644 --- a/test/System.Web.Http.Cors.Test/AttributeBasedPolicyProviderFactoryTest.cs +++ b/test/System.Web.Http.Cors.Test/AttributeBasedPolicyProviderFactoryTest.cs @@ -5,7 +5,6 @@ using System.Net.Http; using System.Web.Cors; using System.Web.Http.Controllers; -using System.Web.Http.Hosting; using System.Web.Http.Routing; using Microsoft.TestCommon; using Moq; @@ -64,7 +63,7 @@ public void GetCorsPolicyProvider_Preflight_ReturnsCompleteControllerContext() request.SetRouteData(route.GetRouteData("/", request)); ICorsPolicyProvider provider = providerFactory.GetCorsPolicyProvider(request); - + // Assert Assert.NotNull(controllerContext); Assert.Equal(config, controllerContext.Configuration); @@ -86,7 +85,7 @@ public void GetCorsPolicyProvider_Preflight_DisposesControllerAfterActionSelecti HttpControllerContext controllerContext = null; var actionSelector = new Mock(); actionSelector.Setup(s => s.SelectAction(It.IsAny())) - .Callback(context => + .Callback(context => { Assert.False(((SampleController)context.Controller).Disposed); controllerContext = context; @@ -214,7 +213,7 @@ public void GetCorsPolicyProvider_ReturnsPolicyProvider_OnController() ICorsPolicyProvider policyProvider = providerFactory.GetCorsPolicyProvider(request); Assert.NotNull(policyProvider); - Assert.IsType(typeof(EnableCorsAttribute), policyProvider); + Assert.IsType(policyProvider); } [Fact] @@ -232,7 +231,7 @@ public void GetCorsPolicyProvider_ReturnsPolicyProvider_OnAction() ICorsPolicyProvider policyProvider = providerFactory.GetCorsPolicyProvider(request); Assert.NotNull(policyProvider); - Assert.IsType(typeof(DisableCorsAttribute), policyProvider); + Assert.IsType(policyProvider); } [Fact] @@ -250,8 +249,8 @@ public void GetCorsPolicyProvider_Preflight_ReturnsPolicyProviderUsingPerControl Assert.True(request.GetCorsRequestContext().IsPreflight); EnableCorsAttribute enableCorsAttribute = Assert.IsType(provider); - Assert.Equal(1, enableCorsAttribute.Origins.Count()); - Assert.Equal("http://example.com", enableCorsAttribute.Origins.First()); + string origin = Assert.Single(enableCorsAttribute.Origins); + Assert.Equal("http://example.com", origin); } [Fact] diff --git a/test/System.Web.Http.Cors.Test/CorsHttpConfigurationExtensionsTest.cs b/test/System.Web.Http.Cors.Test/CorsHttpConfigurationExtensionsTest.cs index 160c87412..449702695 100644 --- a/test/System.Web.Http.Cors.Test/CorsHttpConfigurationExtensionsTest.cs +++ b/test/System.Web.Http.Cors.Test/CorsHttpConfigurationExtensionsTest.cs @@ -32,8 +32,8 @@ public void EnableCors_AddsCorsMessageHandler_DuringInitializerExecution() config.Initializer(config); - Assert.Equal(1, config.MessageHandlers.Count); - Assert.IsType(typeof(CorsMessageHandler), config.MessageHandlers[0]); + var handler = Assert.Single(config.MessageHandlers); + Assert.IsType(handler); } [Fact] @@ -49,8 +49,8 @@ public void EnableCors_IsIdempotent() config.Initializer(config); - Assert.Equal(1, config.MessageHandlers.Count); - Assert.IsType(typeof(CorsMessageHandler), config.MessageHandlers[0]); + var handler = Assert.Single(config.MessageHandlers); + Assert.IsType(handler); } [Fact] @@ -66,8 +66,8 @@ public void EnableCors_Initializer_IsIdempotent() config.Initializer(config); config.Initializer(config); - Assert.Equal(1, config.MessageHandlers.Count); - Assert.IsType(typeof(CorsMessageHandler), config.MessageHandlers[0]); + var handler = Assert.Single(config.MessageHandlers); + Assert.IsType(handler); } [Fact] @@ -96,7 +96,7 @@ public void EnableCors_AddsTracers_WhenTracingIsEnabled() config.Initializer(config); ICorsPolicyProviderFactory providerFactory = config.GetCorsPolicyProviderFactory(); - Assert.IsType(typeof(CorsPolicyProviderFactoryTracer), providerFactory); + Assert.IsType(providerFactory); } [Fact] @@ -116,7 +116,7 @@ public void GetCorsPolicyProviderFactory_ReturnsDefaultCorsPolicyProviderFactory ICorsPolicyProviderFactory providerFactory = config.GetCorsPolicyProviderFactory(); Assert.NotNull(providerFactory); - Assert.IsType(typeof(AttributeBasedPolicyProviderFactory), providerFactory); + Assert.IsType(providerFactory); } [Fact] @@ -145,7 +145,7 @@ public void GetCorsEngine_ReturnsDefaultCorsEngine() { HttpConfiguration config = new HttpConfiguration(); ICorsEngine corsEngine = config.GetCorsEngine(); - Assert.IsType(typeof(CorsEngine), corsEngine); + Assert.IsType(corsEngine); } [Fact] diff --git a/test/System.Web.Http.Cors.Test/CorsHttpResponseMessageExtensionsTest.cs b/test/System.Web.Http.Cors.Test/CorsHttpResponseMessageExtensionsTest.cs index 511066868..257ca5c54 100644 --- a/test/System.Web.Http.Cors.Test/CorsHttpResponseMessageExtensionsTest.cs +++ b/test/System.Web.Http.Cors.Test/CorsHttpResponseMessageExtensionsTest.cs @@ -48,7 +48,7 @@ public void WriteCorsHeaders_WritesAllowMethods() response.WriteCorsHeaders(corsResult); HttpResponseHeaders headers = response.Headers; - Assert.Equal(1, headers.Count()); + Assert.Single(headers); string[] allowMethods = headers.GetValues("Access-Control-Allow-Methods").FirstOrDefault().Split(','); Assert.Contains("DELETE", allowMethods); Assert.Contains("PUT", allowMethods); @@ -64,7 +64,7 @@ public void WriteCorsHeaders_WritesAllowExposedHeaders() response.WriteCorsHeaders(corsResult); HttpResponseHeaders headers = response.Headers; - Assert.Equal(1, headers.Count()); + Assert.Single(headers); string[] exposedHeaders = headers.GetValues("Access-Control-Expose-Headers").FirstOrDefault().Split(','); Assert.Contains("baz", exposedHeaders); } @@ -80,7 +80,7 @@ public void WriteCorsHeaders_WritesAllowHeaders() response.WriteCorsHeaders(corsResult); HttpResponseHeaders headers = response.Headers; - Assert.Equal(1, headers.Count()); + Assert.Single(headers); string[] allowHeaders = headers.GetValues("Access-Control-Allow-Headers").FirstOrDefault().Split(','); Assert.Contains("foo", allowHeaders); Assert.Contains("bar", allowHeaders); @@ -98,7 +98,7 @@ public void WriteCorsHeaders_WritesAllowCredentials() response.WriteCorsHeaders(corsResult); HttpResponseHeaders headers = response.Headers; - Assert.Equal(1, headers.Count()); + Assert.Single(headers); Assert.Equal("true", headers.GetValues("Access-Control-Allow-Credentials").FirstOrDefault()); } @@ -114,7 +114,7 @@ public void WriteCorsHeaders_WritesAllowOrigin() response.WriteCorsHeaders(corsResult); HttpResponseHeaders headers = response.Headers; - Assert.Equal(1, headers.Count()); + Assert.Single(headers); Assert.Equal("*", headers.GetValues("Access-Control-Allow-Origin").FirstOrDefault()); } @@ -130,7 +130,7 @@ public void WriteCorsHeaders_WritesPreflightMaxAge() response.WriteCorsHeaders(corsResult); HttpResponseHeaders headers = response.Headers; - Assert.Equal(1, headers.Count()); + Assert.Single(headers); Assert.Equal("10", headers.GetValues("Access-Control-Max-Age").FirstOrDefault()); } } diff --git a/test/System.Web.Http.Cors.Test/System.Web.Http.Cors.Test.csproj b/test/System.Web.Http.Cors.Test/System.Web.Http.Cors.Test.csproj index d47dcde87..c63e1595f 100644 --- a/test/System.Web.Http.Cors.Test/System.Web.Http.Cors.Test.csproj +++ b/test/System.Web.Http.Cors.Test/System.Web.Http.Cors.Test.csproj @@ -96,6 +96,9 @@ + + + diff --git a/test/System.Web.Http.Cors.Test/Tracing/CorsPolicyProviderFactoryTracerTest.cs b/test/System.Web.Http.Cors.Test/Tracing/CorsPolicyProviderFactoryTracerTest.cs index 593d6143a..5f5a15bc9 100644 --- a/test/System.Web.Http.Cors.Test/Tracing/CorsPolicyProviderFactoryTracerTest.cs +++ b/test/System.Web.Http.Cors.Test/Tracing/CorsPolicyProviderFactoryTracerTest.cs @@ -44,7 +44,7 @@ public void GetCorsPolicyProvider_ReturnsCorsPolicyProviderTracer() ICorsPolicyProvider policyProvider = tracer.GetCorsPolicyProvider(new HttpRequestMessage()); - Assert.IsType(typeof(CorsPolicyProviderTracer), policyProvider); + Assert.IsType(policyProvider); } [Fact] diff --git a/test/System.Web.Http.Cors.Test/packages.config b/test/System.Web.Http.Cors.Test/packages.config index 07af0ca82..bf5e44622 100644 --- a/test/System.Web.Http.Cors.Test/packages.config +++ b/test/System.Web.Http.Cors.Test/packages.config @@ -3,7 +3,9 @@ + + diff --git a/test/System.Web.Http.Integration.Test/ApiExplorer/ParameterSourceTest.cs b/test/System.Web.Http.Integration.Test/ApiExplorer/ParameterSourceTest.cs index 60c3c0b34..d6bd4933f 100644 --- a/test/System.Web.Http.Integration.Test/ApiExplorer/ParameterSourceTest.cs +++ b/test/System.Web.Http.Integration.Test/ApiExplorer/ParameterSourceTest.cs @@ -69,8 +69,8 @@ public void EnumParameters_ShowUpCorrectlyOnDescription() ApiDescription description = explorer.ApiDescriptions.FirstOrDefault(desc => desc.ActionDescriptor.ActionName == "GetWithEnumParameter"); Assert.NotNull(description); - Assert.Equal(1, description.ParameterDescriptions.Count); - Assert.Equal(ApiParameterSource.FromUri, description.ParameterDescriptions[0].Source); + ApiParameterDescription parameterDescription = Assert.Single(description.ParameterDescriptions); + Assert.Equal(ApiParameterSource.FromUri, parameterDescription.Source); Assert.Equal("EnumParameterOverloads?scope={scope}", description.RelativePath); description = explorer.ApiDescriptions.FirstOrDefault(desc => desc.ActionDescriptor.ActionName == "GetWithTwoEnumParameters"); @@ -82,8 +82,8 @@ public void EnumParameters_ShowUpCorrectlyOnDescription() description = explorer.ApiDescriptions.FirstOrDefault(desc => desc.ActionDescriptor.ActionName == "GetWithNullableEnumParameter"); Assert.NotNull(description); - Assert.Equal(1, description.ParameterDescriptions.Count); - Assert.Equal(ApiParameterSource.FromUri, description.ParameterDescriptions[0].Source); + parameterDescription = Assert.Single(description.ParameterDescriptions); + Assert.Equal(ApiParameterSource.FromUri, parameterDescription.Source); Assert.Equal("EnumParameterOverloads?level={level}", description.RelativePath); } @@ -153,7 +153,7 @@ public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceT public string Value { get; set; } } - // We only support complex types whose all of their individual + // We only support complex types whose all of their individual // properties can be converted from string. public class NonDescribable { diff --git a/test/System.Web.Http.Integration.Test/ApiExplorer/RoutesTest.cs b/test/System.Web.Http.Integration.Test/ApiExplorer/RoutesTest.cs index b21e5bb0d..2181f629f 100644 --- a/test/System.Web.Http.Integration.Test/ApiExplorer/RoutesTest.cs +++ b/test/System.Web.Http.Integration.Test/ApiExplorer/RoutesTest.cs @@ -20,7 +20,7 @@ public void VerifyDescription_OnEmptyRoute() IApiExplorer explorer = config.Services.GetApiExplorer(); Assert.NotNull(explorer); - Assert.Equal(0, explorer.ApiDescriptions.Count); + Assert.Empty(explorer.ApiDescriptions); } [Fact] @@ -31,7 +31,7 @@ public void VerifyDescription_OnInvalidRoute() IApiExplorer explorer = config.Services.GetApiExplorer(); Assert.NotNull(explorer); - Assert.Equal(0, explorer.ApiDescriptions.Count); + Assert.Empty(explorer.ApiDescriptions); } public static IEnumerable VerifyDescription_OnDefaultRoute_PropertyData diff --git a/test/System.Web.Http.Integration.Test/ContentNegotiation/CustomFormatterTests.cs b/test/System.Web.Http.Integration.Test/ContentNegotiation/CustomFormatterTests.cs index 155218057..f04d2f61a 100644 --- a/test/System.Web.Http.Integration.Test/ContentNegotiation/CustomFormatterTests.cs +++ b/test/System.Web.Http.Integration.Test/ContentNegotiation/CustomFormatterTests.cs @@ -45,10 +45,10 @@ public async Task CustomFormatter_Overrides_SetResponseHeaders_During_Conneg() IEnumerable versionHdr = null; Assert.True(response.Content.Headers.TryGetValues("Version", out versionHdr)); - Assert.Equal("1.3.5.0", versionHdr.First()); + Assert.Equal("1.3.5.0", versionHdr.First()); Assert.NotNull(response.Content); Assert.NotNull(response.Content.Headers.ContentType); - Assert.Equal("text/plainwithversioninfo", response.Content.Headers.ContentType.MediaType); + Assert.Equal("text/plainwithversioninfo", response.Content.Headers.ContentType.MediaType); } [Fact] @@ -66,8 +66,8 @@ public async Task CustomFormatter_Post_Returns_Request_String_Content() response.EnsureSuccessStatusCode(); Assert.NotNull(response.Content); Assert.NotNull(response.Content.Headers.ContentType); - Assert.Equal("text/plain", response.Content.Headers.ContentType.MediaType); - Assert.Equal("Hello World!", await response.Content.ReadAsStringAsync()); + Assert.Equal("text/plain", response.Content.Headers.ContentType.MediaType); + Assert.Equal("Hello World!", await response.Content.ReadAsStringAsync()); } [Fact] @@ -86,8 +86,8 @@ public async Task CustomFormatter_Post_Returns_Request_Integer_Content() response.EnsureSuccessStatusCode(); Assert.NotNull(response.Content); Assert.NotNull(response.Content.Headers.ContentType); - Assert.Equal("text/plain", response.Content.Headers.ContentType.MediaType); - Assert.Equal(100, Convert.ToInt32(await response.Content.ReadAsStringAsync())); + Assert.Equal("text/plain", response.Content.Headers.ContentType.MediaType); + Assert.Equal(100, Convert.ToInt32(await response.Content.ReadAsStringAsync())); } [Fact] @@ -106,7 +106,7 @@ public async Task CustomFormatter_Post_Returns_Request_ComplexType_Content() response.EnsureSuccessStatusCode(); Assert.NotNull(response.Content); Assert.NotNull(response.Content.Headers.ContentType); - Assert.Equal("text/plain", response.Content.Headers.ContentType.MediaType); + Assert.Equal("text/plain", response.Content.Headers.ContentType.MediaType); } private void SetupHost() diff --git a/test/System.Web.Http.Integration.Test/ContentNegotiation/HttpResponseReturnTests.cs b/test/System.Web.Http.Integration.Test/ContentNegotiation/HttpResponseReturnTests.cs index dcbf10c93..a2a36b385 100644 --- a/test/System.Web.Http.Integration.Test/ContentNegotiation/HttpResponseReturnTests.cs +++ b/test/System.Web.Http.Integration.Test/ContentNegotiation/HttpResponseReturnTests.cs @@ -41,8 +41,8 @@ public async Task ActionReturnsHttpResponseMessage(string action) Assert.NotNull(response.Content); Assert.NotNull(response.Content.Headers.ContentType); - Assert.Equal("application/xml", response.Content.Headers.ContentType.MediaType); - Assert.Equal(expectedResponseValue, await response.Content.ReadAsStringAsync()); + Assert.Equal("application/xml", response.Content.Headers.ContentType.MediaType); + Assert.Equal(expectedResponseValue, await response.Content.ReadAsStringAsync()); } [Theory] @@ -59,8 +59,8 @@ public async Task ActionReturnsHttpResponseMessageWithExplicitMediaType(string a Assert.NotNull(response.Content); Assert.NotNull(response.Content.Headers.ContentType); - Assert.Equal("application/xml", response.Content.Headers.ContentType.MediaType); - Assert.Equal(expectedResponseValue, await response.Content.ReadAsStringAsync()); + Assert.Equal("application/xml", response.Content.Headers.ContentType.MediaType); + Assert.Equal(expectedResponseValue, await response.Content.ReadAsStringAsync()); } [Theory] @@ -77,7 +77,7 @@ public async Task ReturnMultipleSetCookieHeadersShouldWork(string action) Assert.Equal(new[] { "cookie1", "cookie2" }, list); } - public void SetupHost() + private void SetupHost() { baseAddress = "http://localhost/"; diff --git a/test/System.Web.Http.Integration.Test/Controllers/ActionAttributesTest.cs b/test/System.Web.Http.Integration.Test/Controllers/ActionAttributesTest.cs index 2405a37fe..275c645f8 100644 --- a/test/System.Web.Http.Integration.Test/Controllers/ActionAttributesTest.cs +++ b/test/System.Web.Http.Integration.Test/Controllers/ActionAttributesTest.cs @@ -27,7 +27,7 @@ public void SelectAction_OnRouteWithActionParameter(string httpMethod, string re controllerContext.ControllerDescriptor = new HttpControllerDescriptor(controllerContext.Configuration, "test", typeof(ActionAttributeTestController)); HttpActionDescriptor descriptor = ApiControllerHelper.SelectAction(controllerContext); - Assert.Equal(expectedActionName, descriptor.ActionName); + Assert.Equal(expectedActionName, descriptor.ActionName); } [Theory] @@ -63,7 +63,7 @@ public void SelectAction_ThrowsMethodNotSupported_OnRouteWithActionParameter(str [InlineData("PUT", "ActionAttributeTest/AddUsers")] // id is required on this action, so url is invalid. 404 [InlineData("WHATEVER", "ActionAttributeTest/AddUsers")] // id is required on this action, so url is invalid. 404 [InlineData("GET", "ActionAttributeTest/Users")] // key param is required, bad url. 404 - [InlineData("POST", "ActionAttributeTest/Users")] // key param is required, bad url. 404 + [InlineData("POST", "ActionAttributeTest/Users")] // key param is required, bad url. 404 [InlineData("PATCHING", "ActionAttributeTest/Users")] // key param is required, bad url. 404 [InlineData("NonAction", "ActionAttributeTest/NonAction")] // NonAction, 404 [InlineData("GET", "ActionAttributeTest/NonAction")] // NonAction, 404 @@ -86,7 +86,7 @@ public void SelectAction_ThrowsNotFound_OnRouteWithActionParameter(string httpMe // Error message might be ApiControllerActionSelector_ActionNameNotFound or ApiControllerActionSelector_ActionNotFound string actualMessage = (string)((HttpError)content.Value)["MessageDetail"]; - Assert.True(actualMessage.StartsWith("No action was found on the controller 'ActionAttributeTestController' that matches")); + Assert.StartsWith("No action was found on the controller 'ActionAttributeTestController' that matches", actualMessage); } [Theory] @@ -115,7 +115,7 @@ public void SelectAction_OnDefaultRoute(string httpMethod, string requestUrl, st controllerContext.ControllerDescriptor = new HttpControllerDescriptor(controllerContext.Configuration, "test", typeof(ActionAttributeTestController)); HttpActionDescriptor descriptor = ApiControllerHelper.SelectAction(controllerContext); - Assert.Equal(expectedActionName, descriptor.ActionName); + Assert.Equal(expectedActionName, descriptor.ActionName); } [Theory] diff --git a/test/System.Web.Http.Integration.Test/Controllers/ApiControllerActionSelectorTest.cs b/test/System.Web.Http.Integration.Test/Controllers/ApiControllerActionSelectorTest.cs index af5ae0541..a359bc8f3 100644 --- a/test/System.Web.Http.Integration.Test/Controllers/ApiControllerActionSelectorTest.cs +++ b/test/System.Web.Http.Integration.Test/Controllers/ApiControllerActionSelectorTest.cs @@ -237,7 +237,7 @@ public void RequestToActionWith_HttpMethodDefinedByAttributeAndActionName() context.ControllerDescriptor = new HttpControllerDescriptor(context.Configuration, "test", typeof(TestController)); HttpActionDescriptor descriptor = ApiControllerHelper.SelectAction(context); - Assert.Equal("PutUser", descriptor.ActionName); + Assert.Equal("PutUser", descriptor.ActionName); // When you have the HttpMethod attribute, the convention should not be applied. httpMethod = "PUT"; @@ -254,7 +254,7 @@ public void RequestToActionWith_HttpMethodDefinedByAttributeAndActionName() AssertAllowedHeaders(exception.Response, HttpMethod.Get, new HttpMethod("PATCH"), HttpMethod.Post, HttpMethod.Delete, HttpMethod.Head); } - // Verify response has all the methods in its Allow header. values are unsorted. + // Verify response has all the methods in its Allow header. values are unsorted. private void AssertAllowedHeaders(HttpResponseMessage response, params HttpMethod[] allowedMethods) { foreach (var method in allowedMethods) diff --git a/test/System.Web.Http.Integration.Test/ExceptionHandling/HttpResponseExceptionTest.cs b/test/System.Web.Http.Integration.Test/ExceptionHandling/HttpResponseExceptionTest.cs index ee14a2278..1d9bac575 100644 --- a/test/System.Web.Http.Integration.Test/ExceptionHandling/HttpResponseExceptionTest.cs +++ b/test/System.Web.Http.Integration.Test/ExceptionHandling/HttpResponseExceptionTest.cs @@ -48,7 +48,7 @@ await ScenarioHelper.RunTestAsync( { Assert.NotNull(response.Content); Assert.NotNull(response.Content.Headers.ContentType); - Assert.Equal(response.Content.Headers.ContentType.MediaType, "application/json"); + Assert.Equal("application/json", response.Content.Headers.ContentType.MediaType); if (throwAt == "DoNotThrow") { diff --git a/test/System.Web.Http.Integration.Test/ExceptionHandling/IncludeErrorDetailTest.cs b/test/System.Web.Http.Integration.Test/ExceptionHandling/IncludeErrorDetailTest.cs index 329d13025..85b9f66e4 100644 --- a/test/System.Web.Http.Integration.Test/ExceptionHandling/IncludeErrorDetailTest.cs +++ b/test/System.Web.Http.Integration.Test/ExceptionHandling/IncludeErrorDetailTest.cs @@ -97,7 +97,7 @@ private async Task AssertResponseDoesNotIncludeErrorDetailAsync(HttpResponseMess { Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode); JObject json = JToken.Parse(await response.Content.ReadAsStringAsync()) as JObject; - Assert.Equal(1, json.Count); + Assert.Single(json); string errorMessage = ((JValue)json["Message"]).ToString(); Assert.Equal("An error has occurred.", errorMessage); } diff --git a/test/System.Web.Http.Integration.Test/ModelBinding/BodyBindingTests.cs b/test/System.Web.Http.Integration.Test/ModelBinding/BodyBindingTests.cs index c6332aade..5f45be66f 100644 --- a/test/System.Web.Http.Integration.Test/ModelBinding/BodyBindingTests.cs +++ b/test/System.Web.Http.Integration.Test/ModelBinding/BodyBindingTests.cs @@ -138,7 +138,7 @@ public async Task Body_Binds_ComplexType_Type_Key_Value_Read(string action, stri // Assert ModelBindOrder actualItem = await response.Content.ReadAsAsync(); - Assert.Equal(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); + Assert.Equal(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); } [Theory] @@ -168,7 +168,7 @@ public async Task Body_Binds_ComplexType_Type_Whole_Body_Read(string action, str // Assert ModelBindOrder actualItem = await response.Content.ReadAsAsync(); - Assert.Equal(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); + Assert.Equal(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); } } } diff --git a/test/System.Web.Http.Integration.Test/ModelBinding/CustomBindingTests.cs b/test/System.Web.Http.Integration.Test/ModelBinding/CustomBindingTests.cs index 7385df6b8..b509df14d 100644 --- a/test/System.Web.Http.Integration.Test/ModelBinding/CustomBindingTests.cs +++ b/test/System.Web.Http.Integration.Test/ModelBinding/CustomBindingTests.cs @@ -29,7 +29,7 @@ public async Task Custom_ValueProvider_Binds_Simple_Types_Get() // Assert string responseString = await response.Content.ReadAsStringAsync(); - Assert.Equal("5", responseString); + Assert.Equal("5", responseString); } } diff --git a/test/System.Web.Http.Integration.Test/ModelBinding/DefaultActionValueBinderTest.cs b/test/System.Web.Http.Integration.Test/ModelBinding/DefaultActionValueBinderTest.cs index 749fc5c60..a4c96b54d 100644 --- a/test/System.Web.Http.Integration.Test/ModelBinding/DefaultActionValueBinderTest.cs +++ b/test/System.Web.Http.Integration.Test/ModelBinding/DefaultActionValueBinderTest.cs @@ -63,7 +63,7 @@ public async Task BindValuesAsync_WithObjectContentInRequest_Works() // Assert var result = context.ActionArguments; - Assert.Equal(1, result.Count); + Assert.Single(result); var item = Assert.IsType(result["item"]); Assert.Equal(cust.FirstName, item.FirstName); Assert.Equal(cust.LastName, item.LastName); @@ -170,8 +170,8 @@ public async Task BindValuesAsync_Query_String_Values_To_Complex_Types() // Assert Assert.True(actionContext.ModelState.IsValid); - Assert.Equal(1, actionContext.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsType(actionContext.ActionArguments.First().Value); + KeyValuePair actionArgument = Assert.Single(actionContext.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsType(actionArgument.Value); Assert.Equal(5, deserializedActionValueItem.Id); Assert.Equal("queryFirstName", deserializedActionValueItem.FirstName); Assert.Equal("queryLastName", deserializedActionValueItem.LastName); @@ -197,8 +197,8 @@ public async Task BindValuesAsync_Query_String_Values_To_Post_Complex_Types() // Assert Assert.True(actionContext.ModelState.IsValid); - Assert.Equal(1, actionContext.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsType(actionContext.ActionArguments.First().Value); + KeyValuePair actionArgument = Assert.Single(actionContext.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsType(actionArgument.Value); Assert.Equal(5, deserializedActionValueItem.Id); Assert.Equal("queryFirstName", deserializedActionValueItem.FirstName); Assert.Equal("queryLastName", deserializedActionValueItem.LastName); @@ -224,8 +224,8 @@ public async Task BindValuesAsync_Query_String_Values_To_Post_Enumerable_Complex // Assert Assert.True(actionContext.ModelState.IsValid); - Assert.Equal(1, actionContext.ActionArguments.Count); - IEnumerable items = Assert.IsAssignableFrom>(actionContext.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(actionContext.ActionArguments); + IEnumerable items = Assert.IsAssignableFrom>(keyValuePair.Value); ActionValueItem deserializedActionValueItem = items.First(); Assert.Equal(5, deserializedActionValueItem.Id); Assert.Equal("queryFirstName", deserializedActionValueItem.FirstName); @@ -252,9 +252,9 @@ public async Task BindValuesAsync_Query_String_Values_To_Post_Enumerable_Complex // Assert Assert.True(actionContext.ModelState.IsValid); - Assert.Equal(1, actionContext.ActionArguments.Count); - IEnumerable items = Assert.IsAssignableFrom>(actionContext.ActionArguments.First().Value); - Assert.Equal(0, items.Count()); // expect unsuccessful bind but proves we don't loop infinitely + KeyValuePair keyValuePair = Assert.Single(actionContext.ActionArguments); + IEnumerable items = Assert.IsAssignableFrom>(keyValuePair.Value); + Assert.Empty(items); // expect unsuccessful bind but proves we don't loop infinitely } [Fact] @@ -276,8 +276,8 @@ public async Task BindValuesAsync_Query_String_Values_To_ComplexType_Using_Prefi await provider.BindValuesAsync(actionContext, cancellationToken); // Assert - Assert.Equal(1, actionContext.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsType(actionContext.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(actionContext.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsType(keyValuePair.Value); Assert.Equal(5, deserializedActionValueItem.Id); Assert.Equal("queryFirstName", deserializedActionValueItem.FirstName); Assert.Equal("queryLastName", deserializedActionValueItem.LastName); @@ -302,8 +302,8 @@ public async Task BindValuesAsync_Query_String_Values_To_ComplexType_Using_FromU await provider.BindValuesAsync(actionContext, cancellationToken); // Assert - Assert.Equal(1, actionContext.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsType(actionContext.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(actionContext.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsType(keyValuePair.Value); Assert.Equal(5, deserializedActionValueItem.Id); Assert.Equal("queryFirstName", deserializedActionValueItem.FirstName); Assert.Equal("queryLastName", deserializedActionValueItem.LastName); @@ -473,8 +473,8 @@ public async Task BindValuesAsync_RouteData_Values_To_Complex_Types() await provider.BindValuesAsync(controllerContext, cancellationToken); // Assert - Assert.Equal(1, controllerContext.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsType(controllerContext.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(controllerContext.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsType(keyValuePair.Value); Assert.Equal(6, deserializedActionValueItem.Id); Assert.Equal("routeFirstName", deserializedActionValueItem.FirstName); Assert.Equal("routeLastName", deserializedActionValueItem.LastName); @@ -504,8 +504,8 @@ public async Task BindValuesAsync_RouteData_Values_To_Complex_Types_Using_FromUr await provider.BindValuesAsync(controllerContext, cancellationToken); // Assert - Assert.Equal(1, controllerContext.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsType(controllerContext.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(controllerContext.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsType(keyValuePair.Value); Assert.Equal(6, deserializedActionValueItem.Id); Assert.Equal("routeFirstName", deserializedActionValueItem.FirstName); Assert.Equal("routeLastName", deserializedActionValueItem.LastName); @@ -532,8 +532,8 @@ public async Task BindValuesAsync_ControllerContext_CancellationToken() await provider.BindValuesAsync(actionContext, cancellationToken); // Assert - Assert.Equal(1, actionContext.ActionArguments.Count); - Assert.Equal(cancellationToken, actionContext.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(actionContext.ActionArguments); + Assert.Equal(cancellationToken, keyValuePair.Value); } #endregion ControllerContext @@ -558,8 +558,8 @@ public async Task BindValuesAsync_Body_To_Complex_Type_Json() await provider.BindValuesAsync(context, cancellationToken); // Assert - Assert.Equal(1, context.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(keyValuePair.Value); Assert.Equal(7, deserializedActionValueItem.Id); Assert.Equal("testFirstName", deserializedActionValueItem.FirstName); Assert.Equal("testLastName", deserializedActionValueItem.LastName); @@ -606,8 +606,8 @@ public async Task BindValuesAsync_Body_To_Complex_Type_FormUrlEncoded() await provider.BindValuesAsync(context, cancellationToken); // Assert - Assert.Equal(1, context.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(keyValuePair.Value); Assert.Equal(7, deserializedActionValueItem.Id); Assert.Equal("testFirstName", deserializedActionValueItem.FirstName); Assert.Equal("testLastName", deserializedActionValueItem.LastName); @@ -656,8 +656,8 @@ public async Task BindValuesAsync_Body_To_Complex_Type_Xml() await provider.BindValuesAsync(context, cancellationToken); // Assert - Assert.Equal(1, context.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(keyValuePair.Value); Assert.Equal(item.Id, deserializedActionValueItem.Id); Assert.Equal(item.FirstName, deserializedActionValueItem.FirstName); Assert.Equal(item.LastName, deserializedActionValueItem.LastName); @@ -692,8 +692,8 @@ public async Task BindValuesAsync_Body_To_Complex_Type_Xml_Structural() await provider.BindValuesAsync(context, cancellationToken); // Assert - Assert.Equal(1, context.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(keyValuePair.Value); Assert.Equal(7, deserializedActionValueItem.Id); Assert.Equal("testFirstName", deserializedActionValueItem.FirstName); Assert.Equal("testLastName", deserializedActionValueItem.LastName); @@ -738,8 +738,8 @@ public async Task BindValuesAsync_Body_To_Complex_Type_NullContent() await provider.BindValuesAsync(context, CancellationToken.None); // Assert - Assert.Equal(1, context.ActionArguments.Count); - object deserializedActionValueItem = context.ActionArguments.First().Value; + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + object deserializedActionValueItem = keyValuePair.Value; Assert.Null(deserializedActionValueItem); } @@ -795,8 +795,8 @@ public async Task BindValuesAsync_Body_To_Complex_Type_Using_FromBodyAttribute() await provider.BindValuesAsync(context, cancellationToken); // Assert - Assert.Equal(1, context.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(keyValuePair.Value); Assert.Equal(7, deserializedActionValueItem.Id); Assert.Equal("testFirstName", deserializedActionValueItem.FirstName); Assert.Equal("testLastName", deserializedActionValueItem.LastName); @@ -820,8 +820,8 @@ public async Task BindValuesAsync_Body_To_Complex_Type_Using_Formatter_To_Deseri await provider.BindValuesAsync(context, cancellationToken); // Assert - Assert.Equal(1, context.ActionArguments.Count); - ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + ActionValueItem deserializedActionValueItem = Assert.IsAssignableFrom(keyValuePair.Value); Assert.Equal(7, deserializedActionValueItem.Id); Assert.Equal("testFirstName", deserializedActionValueItem.FirstName); Assert.Equal("testLastName", deserializedActionValueItem.LastName); @@ -848,8 +848,8 @@ public async Task BindValuesAsync_Body_To_IEnumerable_Complex_Type_Json() await provider.BindValuesAsync(context, cancellationToken); // Assert - Assert.Equal(1, context.ActionArguments.Count); - IEnumerable items = Assert.IsAssignableFrom>(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + IEnumerable items = Assert.IsAssignableFrom>(keyValuePair.Value); ActionValueItem deserializedActionValueItem = items.First(); Assert.Equal(7, deserializedActionValueItem.Id); Assert.Equal("testFirstName", deserializedActionValueItem.FirstName); @@ -879,8 +879,8 @@ public async Task BindValuesAsync_Body_To_JToken() await provider.BindValuesAsync(context, cancellationToken); // Assert - Assert.Equal(1, context.ActionArguments.Count); - JToken deserializedJsonValue = Assert.IsAssignableFrom(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + JToken deserializedJsonValue = Assert.IsAssignableFrom(keyValuePair.Value); string deserializedJsonAsString = deserializedJsonValue.ToString(Formatting.None); Assert.Equal(json, deserializedJsonAsString); } @@ -983,8 +983,8 @@ public async Task BindValuesAsync_Config_BindParameter_ShouldNotBeAppliedToUnrel await provider.BindValuesAsync(context, CancellationToken.None); // Assert - Assert.Equal(1, context.ActionArguments.Count); - ActionValueItem result = Assert.IsAssignableFrom(context.ActionArguments.First().Value); + KeyValuePair keyValuePair = Assert.Single(context.ActionArguments); + ActionValueItem result = Assert.IsAssignableFrom(keyValuePair.Value); Assert.Equal(7, result.Id); Assert.Equal("testFirstName", result.FirstName); Assert.Equal("testLastName", result.LastName); diff --git a/test/System.Web.Http.Integration.Test/ModelBinding/ModelBindingController.cs b/test/System.Web.Http.Integration.Test/ModelBinding/ModelBindingController.cs index 783c9c94a..588803893 100644 --- a/test/System.Web.Http.Integration.Test/ModelBinding/ModelBindingController.cs +++ b/test/System.Web.Http.Integration.Test/ModelBinding/ModelBindingController.cs @@ -65,7 +65,6 @@ public int GetIntCustom([ValueProvider(typeof(RequestHeadersValueProviderFactory public Task GetIntAsync(int value, CancellationToken token) { - Assert.NotNull(token); TaskCompletionSource tcs = new TaskCompletionSource(); tcs.TrySetResult(value); return tcs.Task; @@ -236,8 +235,8 @@ public bool Equals(ModelBindOrder x, ModelBindOrder y) { Assert.True(x != null, "Expected ModelBindOrder cannot be null."); Assert.True(y != null, "Actual ModelBindOrder was null."); - Assert.Equal(x.ItemName, y.ItemName); - Assert.Equal(x.Quantity, y.Quantity); + Assert.Equal(x.ItemName, y.ItemName); + Assert.Equal(x.Quantity, y.Quantity); if (x.Customer != null) { diff --git a/test/System.Web.Http.Integration.Test/ModelBinding/QueryStringBindingTests.cs b/test/System.Web.Http.Integration.Test/ModelBinding/QueryStringBindingTests.cs index ffd0e1089..20ab3febf 100644 --- a/test/System.Web.Http.Integration.Test/ModelBinding/QueryStringBindingTests.cs +++ b/test/System.Web.Http.Integration.Test/ModelBinding/QueryStringBindingTests.cs @@ -40,7 +40,7 @@ public async Task Query_String_Binds_Simple_Types_Get(string action, string quer // Assert string responseString = await response.Content.ReadAsStringAsync(); - Assert.Equal(expectedResponse, responseString); + Assert.Equal(expectedResponse, responseString); } [Theory] @@ -65,7 +65,7 @@ public async Task Query_String_Binds_Simple_Types_Post(string action, string que // Assert string responseString = await response.Content.ReadAsStringAsync(); - Assert.Equal(expectedResponse, responseString); + Assert.Equal(expectedResponse, responseString); } [Theory] @@ -91,7 +91,7 @@ public async Task Query_String_ComplexType_Type_Get(string action, string queryS // Assert ModelBindOrder actualItem = await response.Content.ReadAsAsync(); - Assert.Equal(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); + Assert.Equal(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); } [Theory] @@ -116,7 +116,7 @@ public async Task Query_String_ComplexType_Type_Post(string action, string query // Assert ModelBindOrder actualItem = await response.Content.ReadAsAsync(); - Assert.Equal(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); + Assert.Equal(expectedItem, actualItem, new ModelBindOrderEqualityComparer()); } [Theory] diff --git a/test/System.Web.Http.Integration.Test/ModelBinding/RouteBindingTests.cs b/test/System.Web.Http.Integration.Test/ModelBinding/RouteBindingTests.cs index f9f487840..d90d91e52 100644 --- a/test/System.Web.Http.Integration.Test/ModelBinding/RouteBindingTests.cs +++ b/test/System.Web.Http.Integration.Test/ModelBinding/RouteBindingTests.cs @@ -27,7 +27,7 @@ public async Task Route_Binds_Simple_Types_Get() // Assert string responseString = await response.Content.ReadAsStringAsync(); - Assert.Equal("\"ModelBinding:GetStringFromRoute\"", responseString); + Assert.Equal("\"ModelBinding:GetStringFromRoute\"", responseString); } } } \ No newline at end of file diff --git a/test/System.Web.Http.Integration.Test/System.Web.Http.Integration.Test.csproj b/test/System.Web.Http.Integration.Test/System.Web.Http.Integration.Test.csproj index 294c16147..6e1ae3a96 100644 --- a/test/System.Web.Http.Integration.Test/System.Web.Http.Integration.Test.csproj +++ b/test/System.Web.Http.Integration.Test/System.Web.Http.Integration.Test.csproj @@ -150,6 +150,9 @@ + + + diff --git a/test/System.Web.Http.Integration.Test/packages.config b/test/System.Web.Http.Integration.Test/packages.config index 07af0ca82..bf5e44622 100644 --- a/test/System.Web.Http.Integration.Test/packages.config +++ b/test/System.Web.Http.Integration.Test/packages.config @@ -3,7 +3,9 @@ + + diff --git a/test/System.Web.Http.Owin.Test/ExceptionHandling/DefaultExceptionHandlerTests.cs b/test/System.Web.Http.Owin.Test/ExceptionHandling/DefaultExceptionHandlerTests.cs index 90ad0b0d0..d8078d330 100644 --- a/test/System.Web.Http.Owin.Test/ExceptionHandling/DefaultExceptionHandlerTests.cs +++ b/test/System.Web.Http.Owin.Test/ExceptionHandling/DefaultExceptionHandlerTests.cs @@ -58,8 +58,7 @@ public async Task HandleAsync_HandlesExceptionViaCreateErrorResponse() // Assert IHttpActionResult result = context.Result; - Assert.IsType(typeof(ResponseMessageResult), result); - ResponseMessageResult typedResult = (ResponseMessageResult)result; + ResponseMessageResult typedResult = Assert.IsType(result); using (HttpResponseMessage response = typedResult.Response) { Assert.NotNull(response); @@ -78,14 +77,12 @@ public async Task HandleAsync_HandlesExceptionViaCreateErrorResponse() private static void AssertErrorResponse(HttpResponseMessage expected, HttpResponseMessage actual) { Assert.NotNull(expected); // Guard - Assert.IsType(typeof(ObjectContent), expected.Content); // Guard - ObjectContent expectedContent = (ObjectContent)expected.Content; + ObjectContent expectedContent = Assert.IsType>(expected.Content); // Guard Assert.NotNull(expectedContent.Formatter); // Guard Assert.NotNull(actual); Assert.Equal(expected.StatusCode, actual.StatusCode); - Assert.IsType(typeof(ObjectContent), actual.Content); - ObjectContent actualContent = (ObjectContent)actual.Content; + ObjectContent actualContent = Assert.IsType>(actual.Content); Assert.NotNull(actualContent.Formatter); Assert.Same(expectedContent.Formatter.GetType(), actualContent.Formatter.GetType()); Assert.Equal(expectedContent.Value, actualContent.Value); diff --git a/test/System.Web.Http.Owin.Test/HostAuthenticationAttributeTest.cs b/test/System.Web.Http.Owin.Test/HostAuthenticationAttributeTest.cs index f5253c4a2..404ef9bd2 100644 --- a/test/System.Web.Http.Owin.Test/HostAuthenticationAttributeTest.cs +++ b/test/System.Web.Http.Owin.Test/HostAuthenticationAttributeTest.cs @@ -135,8 +135,7 @@ public void InnerFilter_IsHostAuthenticationFilter_WhenUsingConstructorWithStrin IAuthenticationFilter innerFilter = product.InnerFilter; // Assert - Assert.IsType(innerFilter); - HostAuthenticationFilter typedInnerFilter = (HostAuthenticationFilter)innerFilter; + HostAuthenticationFilter typedInnerFilter = Assert.IsType(innerFilter); Assert.Same(expectedAuthenticationType, typedInnerFilter.AuthenticationType); } diff --git a/test/System.Web.Http.Owin.Test/HostAuthenticationFilterTest.cs b/test/System.Web.Http.Owin.Test/HostAuthenticationFilterTest.cs index fb8d87fc2..199835996 100644 --- a/test/System.Web.Http.Owin.Test/HostAuthenticationFilterTest.cs +++ b/test/System.Web.Http.Owin.Test/HostAuthenticationFilterTest.cs @@ -93,8 +93,7 @@ public async Task AuthenticateAsync_SetsClaimsPrincipal_WhenOwinAuthenticateRetu // Assert Assert.Null(context.ErrorResult); IPrincipal principal = context.Principal; - Assert.IsType(principal); - ClaimsPrincipal claimsPrincipal = (ClaimsPrincipal)principal; + ClaimsPrincipal claimsPrincipal = Assert.IsType(principal); IIdentity identity = claimsPrincipal.Identity; Assert.Same(expectedIdentity, identity); } @@ -291,8 +290,8 @@ public async Task ChallengeAsync_CreatesAuthenticationTypes_WhenOwinChallengeWit Assert.NotNull(challenge); string[] authenticationTypes = challenge.AuthenticationTypes; Assert.NotNull(authenticationTypes); - Assert.Equal(1, authenticationTypes.Length); - Assert.Same(expectedAuthenticationType, authenticationTypes[0]); + string authenticationType = Assert.Single(authenticationTypes); + Assert.Same(expectedAuthenticationType, authenticationType); AuthenticationProperties extra = challenge.Properties; Assert.Same(originalExtra, extra); } @@ -321,8 +320,8 @@ public async Task ChallengeAsync_CreatesOwinChallengeWithAuthenticationType_When Assert.NotNull(challenge); string[] authenticationTypes = challenge.AuthenticationTypes; Assert.NotNull(authenticationTypes); - Assert.Equal(1, authenticationTypes.Length); - Assert.Same(expectedAuthenticationType, authenticationTypes[0]); + string authenticationType = Assert.Single(authenticationTypes); + Assert.Same(expectedAuthenticationType, authenticationType); AuthenticationProperties extra = challenge.Properties; Assert.NotNull(extra); } diff --git a/test/System.Web.Http.Owin.Test/HttpMessageHandlerAdapterTest.cs b/test/System.Web.Http.Owin.Test/HttpMessageHandlerAdapterTest.cs index e196c155a..8ddfce69d 100644 --- a/test/System.Web.Http.Owin.Test/HttpMessageHandlerAdapterTest.cs +++ b/test/System.Web.Http.Owin.Test/HttpMessageHandlerAdapterTest.cs @@ -630,8 +630,7 @@ public async Task Invoke_SetsOwinRequestContext() // Assert HttpRequestContext requestContext = request.GetRequestContext(); - Assert.IsType(requestContext); - OwinHttpRequestContext typedContext = (OwinHttpRequestContext)requestContext; + OwinHttpRequestContext typedContext = Assert.IsType(requestContext); Assert.Same(expectedContext, typedContext.Context); Assert.Same(request, typedContext.Request); } @@ -1171,7 +1170,7 @@ public async Task Invoke_IfExceptionHandlerSetsNullResult_PropogatesFaultedTaskE var exception = await Assert.ThrowsAsync(() => product.Invoke(context)); Assert.Same(expectedException, exception); Assert.NotNull(exception.StackTrace); - Assert.True(exception.StackTrace.StartsWith(expectedStackTrace)); + Assert.StartsWith(expectedStackTrace, exception.StackTrace); } } } diff --git a/test/System.Web.Http.Owin.Test/NonOwnedStreamTests.cs b/test/System.Web.Http.Owin.Test/NonOwnedStreamTests.cs index 4ccd45c82..4591e067a 100644 --- a/test/System.Web.Http.Owin.Test/NonOwnedStreamTests.cs +++ b/test/System.Web.Http.Owin.Test/NonOwnedStreamTests.cs @@ -109,7 +109,7 @@ public void CanRead_IfDisposed_ReturnsFalse() bool canRead = product.CanRead; // Assert - Assert.Equal(false, canRead); + Assert.False(canRead); } } diff --git a/test/System.Web.Http.Owin.Test/OwinHostIntegrationTest.cs b/test/System.Web.Http.Owin.Test/OwinHostIntegrationTest.cs index b905d6576..17e2d15d0 100644 --- a/test/System.Web.Http.Owin.Test/OwinHostIntegrationTest.cs +++ b/test/System.Web.Http.Owin.Test/OwinHostIntegrationTest.cs @@ -75,7 +75,9 @@ private static string CreateUrl(PortReserver port, string localPath) return CreateBaseUrl(port) + "/" + localPath; } +#pragma warning disable xUnit1013 // Public method should be marked as test public void Configuration(IAppBuilder appBuilder) +#pragma warning restore xUnit1013 // Public method should be marked as test { var config = new HttpConfiguration(); config.Routes.MapHttpRoute("Default", "{controller}"); diff --git a/test/System.Web.Http.Owin.Test/OwinHttpRequestContextTests.cs b/test/System.Web.Http.Owin.Test/OwinHttpRequestContextTests.cs index 09758854b..02bb5d30d 100644 --- a/test/System.Web.Http.Owin.Test/OwinHttpRequestContextTests.cs +++ b/test/System.Web.Http.Owin.Test/OwinHttpRequestContextTests.cs @@ -175,7 +175,7 @@ public void IncludeErrorDetailGet_ReturnsFalse_ByDefault() bool includeErrorDetail = context.IncludeErrorDetail; // Assert - Assert.Equal(false, includeErrorDetail); + Assert.False(includeErrorDetail); } } @@ -194,7 +194,7 @@ public void IncludeErrorDetailGet_ReturnsTrue_WhenUnconfiguredAndIsLocal() bool includeErrorDetail = context.IncludeErrorDetail; // Assert - Assert.Equal(true, includeErrorDetail); + Assert.True(includeErrorDetail); } } @@ -310,7 +310,7 @@ public void IsLocalGet_ReturnsFalse_ByDefault() bool isLocal = context.IsLocal; // Assert - Assert.Equal(false, isLocal); + Assert.False(isLocal); } } diff --git a/test/System.Web.Http.Owin.Test/PassiveAuthenticationMessageHandlerTest.cs b/test/System.Web.Http.Owin.Test/PassiveAuthenticationMessageHandlerTest.cs index 690ca8d53..d96aa7561 100644 --- a/test/System.Web.Http.Owin.Test/PassiveAuthenticationMessageHandlerTest.cs +++ b/test/System.Web.Http.Owin.Test/PassiveAuthenticationMessageHandlerTest.cs @@ -156,8 +156,7 @@ public async Task SendAsync_SuppressesAuthenticationChallenges_WhenNoChallengeIs Assert.NotNull(challenge); string[] authenticationTypes = challenge.AuthenticationTypes; Assert.NotNull(authenticationTypes); - Assert.Equal(1, authenticationTypes.Length); - string authenticationType = authenticationTypes[0]; + string authenticationType = Assert.Single(authenticationTypes); Assert.Null(authenticationType); } @@ -185,8 +184,7 @@ public async Task SendAsync_SuppressesAuthenticationChallenges_WhenExistingAuthe Assert.NotNull(challenge); string[] authenticationTypes = challenge.AuthenticationTypes; Assert.NotNull(authenticationTypes); - Assert.Equal(1, authenticationTypes.Length); - string authenticationType = authenticationTypes[0]; + string authenticationType = Assert.Single(authenticationTypes); Assert.Null(authenticationType); AuthenticationProperties actualExtraWrapper = challenge.Properties; Assert.NotNull(actualExtraWrapper); @@ -217,8 +215,7 @@ public async Task SendAsync_SuppressesAuthenticationChallenges_WhenExistingAuthe Assert.NotNull(challenge); string[] authenticationTypes = challenge.AuthenticationTypes; Assert.NotNull(authenticationTypes); - Assert.Equal(1, authenticationTypes.Length); - string authenticationType = authenticationTypes[0]; + string authenticationType = Assert.Single(authenticationTypes); Assert.Null(authenticationType); AuthenticationProperties actualExtraWrapper = challenge.Properties; Assert.NotNull(actualExtraWrapper); diff --git a/test/System.Web.Http.Owin.Test/System.Web.Http.Owin.Test.csproj b/test/System.Web.Http.Owin.Test/System.Web.Http.Owin.Test.csproj index 76428ce20..3a23379bd 100644 --- a/test/System.Web.Http.Owin.Test/System.Web.Http.Owin.Test.csproj +++ b/test/System.Web.Http.Owin.Test/System.Web.Http.Owin.Test.csproj @@ -106,6 +106,9 @@ + + + diff --git a/test/System.Web.Http.Owin.Test/packages.config b/test/System.Web.Http.Owin.Test/packages.config index 0362548bc..080878cc2 100644 --- a/test/System.Web.Http.Owin.Test/packages.config +++ b/test/System.Web.Http.Owin.Test/packages.config @@ -7,7 +7,9 @@ + + diff --git a/test/System.Web.Http.SelfHost.Test/DeeplyNestedTypeTests.cs b/test/System.Web.Http.SelfHost.Test/DeeplyNestedTypeTests.cs index c536aa005..5b0381caa 100644 --- a/test/System.Web.Http.SelfHost.Test/DeeplyNestedTypeTests.cs +++ b/test/System.Web.Http.SelfHost.Test/DeeplyNestedTypeTests.cs @@ -25,7 +25,7 @@ public DeepNestedTypeTests() this.SetupHost(); } - public void SetupHost() + private void SetupHost() { baseAddress = String.Format("http://localhost/"); diff --git a/test/System.Web.Http.SelfHost.Test/HttpSelfHostConfigurationTest.cs b/test/System.Web.Http.SelfHost.Test/HttpSelfHostConfigurationTest.cs index 096f5beda..8c6a68847 100644 --- a/test/System.Web.Http.SelfHost.Test/HttpSelfHostConfigurationTest.cs +++ b/test/System.Web.Http.SelfHost.Test/HttpSelfHostConfigurationTest.cs @@ -21,7 +21,7 @@ public static TheoryDataSet() { {"http://localhost", HttpBindingSecurityMode.TransportCredentialOnly, HttpClientCredentialType.Basic}, - {"https://localhost", HttpBindingSecurityMode.Transport, HttpClientCredentialType.Basic}, + {"https://localhost", HttpBindingSecurityMode.Transport, HttpClientCredentialType.Basic}, }; } } @@ -33,7 +33,7 @@ public static TheoryDataSet() { {"http://localhost", HttpBindingSecurityMode.TransportCredentialOnly, HttpClientCredentialType.Certificate}, - {"https://localhost", HttpBindingSecurityMode.Transport, HttpClientCredentialType.Certificate}, + {"https://localhost", HttpBindingSecurityMode.Transport, HttpClientCredentialType.Certificate}, }; } } @@ -49,7 +49,7 @@ public static TheoryDataSet + + + diff --git a/test/System.Web.Http.SelfHost.Test/packages.config b/test/System.Web.Http.SelfHost.Test/packages.config index 07af0ca82..bf5e44622 100644 --- a/test/System.Web.Http.SelfHost.Test/packages.config +++ b/test/System.Web.Http.SelfHost.Test/packages.config @@ -3,7 +3,9 @@ + + diff --git a/test/System.Web.Http.SignalR.Test/System.Web.Http.SignalR.Test.csproj b/test/System.Web.Http.SignalR.Test/System.Web.Http.SignalR.Test.csproj index 063ea3d3d..3010ce9a0 100644 --- a/test/System.Web.Http.SignalR.Test/System.Web.Http.SignalR.Test.csproj +++ b/test/System.Web.Http.SignalR.Test/System.Web.Http.SignalR.Test.csproj @@ -81,6 +81,9 @@ + + + diff --git a/test/System.Web.Http.SignalR.Test/packages.config b/test/System.Web.Http.SignalR.Test/packages.config index 9a802bafc..cd1d33643 100644 --- a/test/System.Web.Http.SignalR.Test/packages.config +++ b/test/System.Web.Http.SignalR.Test/packages.config @@ -4,7 +4,9 @@ + +