Esempio n. 1
0
 public static Action <Predicate <AssertionSubjectProperties> > Properties <TSubject>(this Action <Predicate <TSubject> > assertion)
 {
     return((Predicate <AssertionSubjectProperties> predicate) =>
     {
         assertion.Invoke((subject) =>
         {
             var newSubject = new AssertionSubjectProperties(subject);
             return predicate.Invoke(newSubject);
         });
     });
 }
Esempio n. 2
0
 public static Action <Predicate <AssertionSubjectProperties> > PropertiesWithout <TSubject, TResult>(this Action <Predicate <TSubject> > assertion, Expression <Func <TSubject, TResult> > excluder)
 {
     return((Predicate <AssertionSubjectProperties> predicate) =>
     {
         assertion.Invoke((subject) =>
         {
             var excludedPropertyName = (excluder.Body as MemberExpression)?.Member?.Name;
             var newSubject = new AssertionSubjectProperties(subject, excludedPropertyName);
             return predicate.Invoke(newSubject);
         });
     });
 }