/
AssertionContext.cs
38 lines (31 loc) · 1.32 KB
/
AssertionContext.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
namespace FluentAssertions.Equivalency
{
internal class AssertionContext<TSubject> : IAssertionContext<TSubject>
{
public AssertionContext(SelectedMemberInfo subjectProperty, TSubject subject, TSubject expectation, string because,
object[] becauseArgs)
{
SubjectProperty = subjectProperty;
Subject = subject;
Expectation = expectation;
Because = because;
BecauseArgs = becauseArgs;
}
public SelectedMemberInfo SubjectProperty { get; private set; }
public TSubject Subject { get; private set; }
public TSubject Expectation { get; private set; }
public string Because { get; set; }
public object[] BecauseArgs { get; set; }
internal static AssertionContext<TSubject> CreateFromEquivalencyValidationContext(IEquivalencyValidationContext context)
{
var expectation = (context.Expectation != null) ? (TSubject)context.Expectation : default(TSubject);
var assertionContext = new AssertionContext<TSubject>(
context.SelectedMemberInfo,
(TSubject)context.Subject,
expectation,
context.Because,
context.BecauseArgs);
return assertionContext;
}
}
}