Skip to content

Commit 9d01093

Browse files
committed
Refactor AcceptedAtRouteResultAssertions to use ObjectResultAssertionsBase.
1 parent 86c802d commit 9d01093

File tree

2 files changed

+12
-37
lines changed

2 files changed

+12
-37
lines changed

src/FluentAssertions.AspNetCore.Mvc/AcceptedAtActionResultAssertions.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
using System;
2-
using System.Diagnostics;
3-
using FluentAssertions.Execution;
4-
using FluentAssertions.Primitives;
1+
using FluentAssertions.Execution;
52
using Microsoft.AspNetCore.Mvc;
3+
using System;
4+
using System.Diagnostics;
65

76
namespace FluentAssertions.AspNetCore.Mvc
87
{
Lines changed: 9 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
using System;
2-
using System.Diagnostics;
3-
using FluentAssertions.Execution;
4-
using FluentAssertions.Primitives;
1+
using FluentAssertions.Execution;
52
using Microsoft.AspNetCore.Mvc;
3+
using System;
4+
using System.Diagnostics;
65

76
namespace FluentAssertions.AspNetCore.Mvc
87
{
98
/// <summary>
109
/// Contains a number of methods to assert that a <see cref="AcceptedAtRouteResult"/> is in the expected state.
1110
/// </summary>
1211
[DebuggerNonUserCode]
13-
public class AcceptedAtRouteResultAssertions : ObjectAssertions
12+
public class AcceptedAtRouteResultAssertions : ObjectResultAssertionsBase<AcceptedAtRouteResult, AcceptedAtRouteResultAssertions>
1413
{
1514
/// <summary>
1615
/// Initializes a new instance of the <see cref="AcceptedAtRouteResultAssertions" /> class.
@@ -30,13 +29,13 @@ public AcceptedAtRouteResultAssertions(AcceptedAtRouteResult subject) : base(sub
3029
/// </param>
3130
public AcceptedAtRouteResultAssertions WithRouteName(string expectedRouteName, string reason = "", params object[] reasonArgs)
3231
{
33-
var subjectTyped = Subject as AcceptedAtRouteResult;
32+
var actualRouteName = ObjectResultSubject.RouteName;
3433

3534
Execute.Assertion
3635
.BecauseOf(reason, reasonArgs)
37-
.ForCondition(string.Equals(expectedRouteName, subjectTyped.RouteName, StringComparison.OrdinalIgnoreCase))
36+
.ForCondition(string.Equals(expectedRouteName, actualRouteName, StringComparison.OrdinalIgnoreCase))
3837
.WithDefaultIdentifier("AcceptedAtRouteResult.RouteName")
39-
.FailWith(FailureMessages.CommonFailMessage, expectedRouteName, subjectTyped.RouteName);
38+
.FailWith(FailureMessages.CommonFailMessage, expectedRouteName, actualRouteName);
4039

4140
return this;
4241
}
@@ -55,35 +54,12 @@ public AcceptedAtRouteResultAssertions WithRouteName(string expectedRouteName, s
5554
/// </param>
5655
public AcceptedAtRouteResultAssertions WithRouteValue(string key, object expectedValue, string reason = "", params object[] reasonArgs)
5756
{
58-
var subjectTyped = Subject as AcceptedAtRouteResult;
57+
var actualRouteValues = ObjectResultSubject.RouteValues;
5958

60-
AssertionHelpers.AssertStringObjectDictionary(subjectTyped.RouteValues,
59+
AssertionHelpers.AssertStringObjectDictionary(actualRouteValues,
6160
"AcceptedAtRouteResult.RouteValues", key, expectedValue, reason, reasonArgs);
6261

6362
return this;
6463
}
65-
66-
/// <summary>
67-
/// Asserts the value is of the expected type.
68-
/// </summary>
69-
/// <typeparam name="TValue">The expected type.</typeparam>
70-
/// <returns>The typed value.</returns>
71-
public TValue ValueAs<TValue>()
72-
{
73-
var subjectTyped = Subject as AcceptedAtRouteResult;
74-
var value = subjectTyped.Value;
75-
76-
if (value == null)
77-
Execute.Assertion
78-
.WithDefaultIdentifier("AcceptedAtRouteResult.Value")
79-
.FailWith(FailureMessages.CommonNullWasSuppliedFailMessage, typeof(TValue));
80-
81-
Execute.Assertion
82-
.ForCondition(value is TValue)
83-
.WithDefaultIdentifier("AcceptedAtRouteResult.Value")
84-
.FailWith(FailureMessages.CommonTypeFailMessage, typeof(TValue), value.GetType());
85-
86-
return (TValue)value;
87-
}
8864
}
8965
}

0 commit comments

Comments
 (0)