11using System ;
2+ using System . Globalization ;
3+ using FluentAssertions . Mvc . Tests . Helpers ;
24using Microsoft . AspNetCore . Mvc ;
35using Microsoft . Net . Http . Headers ;
46using Xunit ;
@@ -7,10 +9,12 @@ namespace FluentAssertions.AspNetCore.Mvc.Tests
79{
810 public class VirtualFileResultAssertions_Tests
911 {
12+ public const string Reason = FailureMessageHelper . Reason ;
13+ public readonly static object [ ] ReasonArgs = FailureMessageHelper . ReasonArgs ;
1014 private const string TestFileName = "TestFileName" ;
1115 private const string TestContentType = "text/html" ;
1216 private const string TestFileDownloadName = "TestFileDownloadName" ;
13- private readonly DateTimeOffset ? TestLastModified = DateTimeOffset . Now ;
17+ private readonly DateTimeOffset ? TestLastModified = DateTimeOffset . Parse ( "2020-04-28 15:48:33.6672395 +2" , CultureInfo . InvariantCulture ) ;
1418 private readonly EntityTagHeaderValue TestEntityTag = new EntityTagHeaderValue ( "\" 0815\" " ) ;
1519
1620 [ Fact ]
@@ -26,8 +30,10 @@ public void WithFileName_GivenUnexpected_ShouldFail()
2630 var actualFileName = TestFileName ;
2731 var expectedFileName = "xyz" ;
2832 ActionResult result = new VirtualFileResult ( actualFileName , TestContentType ) ;
29- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "VirtualFileResult.FileName" , expectedFileName , actualFileName ) ;
30- Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithFileName ( expectedFileName ) ;
33+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "VirtualFileResult.FileName" , expectedFileName , actualFileName ) ;
34+
35+ Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithFileName ( expectedFileName , Reason , ReasonArgs ) ;
36+
3137 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
3238 }
3339
@@ -44,8 +50,10 @@ public void WithContentType_GivenUnexpected_ShouldFail()
4450 var actualContentType = TestContentType ;
4551 var expectedContentType = "xyz" ;
4652 ActionResult result = new VirtualFileResult ( string . Empty , actualContentType ) ;
47- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "VirtualFileResult.ContentType" , expectedContentType , actualContentType ) ;
48- Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithContentType ( expectedContentType ) ;
53+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "VirtualFileResult.ContentType" , expectedContentType , actualContentType ) ;
54+
55+ Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithContentType ( expectedContentType , Reason , ReasonArgs ) ;
56+
4957 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
5058 }
5159
@@ -62,8 +70,10 @@ public void WithFileDownloadName_GivenUnexpected_ShouldFail()
6270 var actualFileDownloadName = TestFileDownloadName ;
6371 var expectedFileDownloadName = "xyz" ;
6472 ActionResult result = new VirtualFileResult ( string . Empty , TestContentType ) { FileDownloadName = actualFileDownloadName } ;
65- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "VirtualFileResult.FileDownloadName" , expectedFileDownloadName , actualFileDownloadName ) ;
66- Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithFileDownloadName ( expectedFileDownloadName ) ;
73+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "VirtualFileResult.FileDownloadName" , expectedFileDownloadName , actualFileDownloadName ) ;
74+
75+ Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithFileDownloadName ( expectedFileDownloadName , Reason , ReasonArgs ) ;
76+
6777 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
6878 }
6979
@@ -87,10 +97,12 @@ public void WithLastModified_GivenNull_ShouldPass()
8797 public void WithLastModified_GivenActualNull_ShouldFail ( )
8898 {
8999 var actualLastModified = null as DateTimeOffset ? ;
90- var expectedLastModified = DateTimeOffset . Now ;
100+ var expectedLastModified = TestLastModified ;
91101 ActionResult result = new VirtualFileResult ( string . Empty , TestContentType ) { LastModified = actualLastModified } ;
92- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "VirtualFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
93- Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithLastModified ( expectedLastModified ) ;
102+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "VirtualFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
103+
104+ Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithLastModified ( expectedLastModified , Reason , ReasonArgs ) ;
105+
94106 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
95107 }
96108
@@ -100,19 +112,23 @@ public void WithLastModified_GivenExpectedNull_ShouldFail()
100112 var actualLastModified = DateTimeOffset . Now ;
101113 var expectedLastModified = null as DateTimeOffset ? ;
102114 ActionResult result = new VirtualFileResult ( string . Empty , TestContentType ) { LastModified = actualLastModified } ;
103- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "VirtualFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
104- Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithLastModified ( expectedLastModified ) ;
115+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "VirtualFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
116+
117+ Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithLastModified ( expectedLastModified , Reason , ReasonArgs ) ;
118+
105119 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
106120 }
107121
108122 [ Fact ]
109123 public void WithLastModified_GivenUnexpected_ShouldFail ( )
110124 {
111125 var actualLastModified = TestLastModified ;
112- var expectedLastModified = DateTimeOffset . Now . AddMilliseconds ( 1 ) ;
126+ var expectedLastModified = TestLastModified . Value . AddMilliseconds ( 1 ) ;
113127 ActionResult result = new VirtualFileResult ( string . Empty , TestContentType ) { LastModified = actualLastModified } ;
114- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "VirtualFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
115- Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithLastModified ( expectedLastModified ) ;
128+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "VirtualFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
129+
130+ Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithLastModified ( expectedLastModified , Reason , ReasonArgs ) ;
131+
116132 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
117133 }
118134
@@ -129,8 +145,10 @@ public void WithEntityTag_GivenUnexpected_ShouldFail()
129145 var actualEntityTag = TestEntityTag ;
130146 var expectedEntityTag = new EntityTagHeaderValue ( "\" 1234\" " ) ;
131147 ActionResult result = new VirtualFileResult ( string . Empty , TestContentType ) { EntityTag = actualEntityTag } ;
132- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "VirtualFileResult.EntityTag" , expectedEntityTag , actualEntityTag ) ;
133- Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithEntityTag ( expectedEntityTag ) ;
148+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "VirtualFileResult.EntityTag" , expectedEntityTag , actualEntityTag ) ;
149+
150+ Action a = ( ) => result . Should ( ) . BeVirtualFileResult ( ) . WithEntityTag ( expectedEntityTag , Reason , ReasonArgs ) ;
151+
134152 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
135153 }
136154 }
0 commit comments