public IExpectTypeConfigWrapperBuilder WithDefaultConfig(Action <IPolicyAsserter> policyAsserts) { var tt = _defaultType; if (!PolicyBuilders.ContainsKey(tt)) // add to existing policy if possible { PolicyBuilders[tt] = new PolicyBuilder(); } // Save this configuration to the configuration for 'object' as a default for other types policyAsserts?.Invoke(PolicyBuilders[tt].Asserter); return(this); }
public IExpectTypeConfigWrapperBuilder WithTypeConfig <T>(Action <IPolicyAsserter> policyAsserts) { var tt = typeof(T); if (!PolicyBuilders.ContainsKey(tt)) { var initialAsserts = PolicyBuilders[_defaultType].Asserter ?? throw new NullReferenceException("Asserter"); PolicyBuilders[tt] = new PolicyBuilder(typeof(T), initialAsserts); } policyAsserts?.Invoke(PolicyBuilders[tt].Asserter); return(this); }