@@ -30,7 +30,7 @@ public AssertionResult FailWithMessage(string message)
3030 internal virtual string GetExpectationWithReason ( )
3131 => $ "{ GetExpectation ( ) } { GetBecauseReason ( ) } ";
3232
33- internal abstract Task < AssertionResult > GetAssertionResult ( object ? actualValue , Exception ? exception , string ? actualExpression ) ;
33+ internal abstract Task < AssertionResult > GetAssertionResult ( object ? actualValue , Exception ? exception , AssertionMetadata assertionMetadata , string ? actualExpression ) ;
3434
3535 internal void SetSubject ( string ? subject )
3636 => Subject = subject ;
@@ -41,24 +41,30 @@ public abstract class BaseAssertCondition<TActual> : BaseAssertCondition
4141
4242 internal Task < AssertionResult > GetAssertionResult ( AssertionData assertionData )
4343 {
44- return GetAssertionResult ( assertionData . Result , assertionData . Exception , assertionData . ActualExpression ) ;
44+ return GetAssertionResult ( assertionData . Result , assertionData . Exception , new AssertionMetadata
45+ {
46+ StartTime = assertionData . Start ,
47+ EndTime = assertionData . End
48+ } , assertionData . ActualExpression ) ;
4549 }
4650
47- internal override Task < AssertionResult > GetAssertionResult ( object ? actualValue , Exception ? exception , string ? actualExpression )
51+ internal override Task < AssertionResult > GetAssertionResult ( object ? actualValue , Exception ? exception ,
52+ AssertionMetadata assertionMetadata , string ? actualExpression )
4853 {
4954 if ( actualValue is not null && actualValue is not TActual )
5055 {
5156 throw new AssertionException ( $ "Expected { typeof ( TActual ) . Name } but received { actualValue . GetType ( ) . Name } ") ;
5257 }
5358
54- return GetAssertionResult ( ( TActual ? ) actualValue , exception , actualExpression ) ;
59+ return GetAssertionResult ( ( TActual ? ) actualValue , exception , assertionMetadata , actualExpression ) ;
5560 }
5661
5762 internal TActual ? ActualValue { get ; private set ; }
5863 internal Exception ? Exception { get ; private set ; }
5964 public string ? ActualExpression { get ; private set ; }
6065
61- public Task < AssertionResult > GetAssertionResult ( TActual ? actualValue , Exception ? exception , string ? actualExpression = null )
66+ public Task < AssertionResult > GetAssertionResult ( TActual ? actualValue , Exception ? exception ,
67+ AssertionMetadata assertionMetadata , string ? actualExpression = null )
6268 {
6369 ActualValue = actualValue ;
6470 Exception = exception ;
@@ -69,8 +75,9 @@ public Task<AssertionResult> GetAssertionResult(TActual? actualValue, Exception?
6975 AssertionScope . GetCurrentAssertionScope ( ) ? . RemoveException ( exception ) ;
7076 }
7177
72- return GetResult ( actualValue , exception ) ;
78+ return GetResult ( actualValue , exception , assertionMetadata ) ;
7379 }
7480
75- protected abstract Task < AssertionResult > GetResult ( TActual ? actualValue , Exception ? exception ) ;
81+ protected abstract Task < AssertionResult > GetResult ( TActual ? actualValue , Exception ? exception ,
82+ AssertionMetadata assertionMetadata ) ;
7683}
0 commit comments