internal static void ConfigureOrderingRules <TActual>( EquivalencyAssertionOptions <TActual> actualOptions, IEquivalencyAssertionOptions subConfigOptions) { foreach (IOrderingRule orderingRule in subConfigOptions.OrderingRules) { ((IEquivalencyAssertionOptions)actualOptions).OrderingRules.Add( new CollectionMemberOrderingRuleDecorator(orderingRule)); } }
internal static void ConfigureAssertionRules <TActual>( EquivalencyAssertionOptions <TActual> actualOptions, IEquivalencyAssertionOptions subConfigOptions) { //Reverse order because Using prepends foreach (var assertionRule in subConfigOptions.AssertionRules.Reverse()) { actualOptions.Using(new CollectionMemberAssertionRuleDecorator(assertionRule)); } }
private static void ConfigureAssertionRules <TActual>( EquivalencyAssertionOptions <TActual> actualOptions, IEquivalencyAssertionOptions subConfigOptions) { // Reverse order because Using prepends foreach (var equivalencyStep in subConfigOptions.UserEquivalencySteps.Reverse()) { actualOptions.Using(new CollectionMemberAssertionRuleDecorator(equivalencyStep)); } }
internal static void ConfigureMatchingRules <TActual>( EquivalencyAssertionOptions <TActual> actualOptions, IEquivalencyAssertionOptions subConfigOptions) { if (subConfigOptions.MatchingRules.Any()) { actualOptions.WithoutMatchingRules(); } //Reverse order because Using prepends foreach (var matchingRule in subConfigOptions.MatchingRules.Reverse()) { actualOptions.Using(new CollectionMemberMatchingRuleDecorator(matchingRule)); } }
/// <summary> /// This converts the configuration provided provided by `ShouldAllBeEquivalentTo` /// so that it is usable by `ShouldBeEquivalentTo` /// </summary> internal static EquivalencyAssertionOptions <TSubject> ForCollectionMemberType <T, TSubject>(this EquivalencyAssertionOptions <TSubject> optionsToConfigure, Func <EquivalencyAssertionOptions <T>, EquivalencyAssertionOptions <T> > subConfig) { var options = EquivalencyAssertionOptions <T> .Empty(); options = subConfig(options); ConfigureOrderingRules(optionsToConfigure, options); ConfigureMatchingRules(optionsToConfigure, options); ConfigureSelectionRules(optionsToConfigure, options); ConfigureAssertionRules(optionsToConfigure, options); return(optionsToConfigure); }
/// <summary> /// This converts the configuration provided provided by `ShouldAllBeEquivalentTo` /// so that it is usable by `ShouldBeEquivalentTo` /// </summary> public static EquivalencyAssertionOptions <TSubject> ForCollectionMemberType <T, TSubject>( EquivalencyAssertionOptions <TSubject> optionsToConfigure, Func <EquivalencyAssertionOptions <T>, EquivalencyAssertionOptions <T> > subConfig) { EquivalencyAssertionOptions <T> options = EquivalencyAssertionOptions <T> .Default(); options = subConfig(options); ConfigureOrderingRules(optionsToConfigure, options); ConfigureMatchingRules(optionsToConfigure, options); ConfigureSelectionRules(optionsToConfigure, options); ConfigureAssertionRules(optionsToConfigure, options); return(optionsToConfigure); }
private static void ConfigureSelectionRules <TActual>( EquivalencyAssertionOptions <TActual> actualOptions, IEquivalencyAssertionOptions subConfigOptions) { var opts = subConfigOptions; if (opts.SelectionRules.Any()) { actualOptions.WithoutSelectionRules(); } foreach (var selectionRule in opts.SelectionRules) { actualOptions.Using(new CollectionMemberSelectionRuleDecorator(selectionRule)); } }
internal static void ConfigureSelectionRules <TActual>( EquivalencyAssertionOptions <TActual> actualOptions, IEquivalencyAssertionOptions subConfigOptions) { var opts = subConfigOptions; if (opts.SelectionRules.Any()) { actualOptions.WithoutSelectionRules(); } //Reverse order because Using prepends foreach (var selectionRule in opts.SelectionRules.Reverse()) { actualOptions.Using(new CollectionMemberSelectionRuleDecorator(selectionRule)); } }
public Restriction(EquivalencyAssertionOptions <TSubject> options, Action <IAssertionContext <TProperty> > action) { this.options = options; this.action = action; }
internal NestedExclusionOptionBuilder(EquivalencyAssertionOptions <TExpectation> capturedAssertionOptions, ExcludeMemberByPathSelectionRule currentPathSelectionRule) { this.capturedAssertionOptions = capturedAssertionOptions; this.currentPathSelectionRule = currentPathSelectionRule; }