public void Discover(IDiscoveryContext context) { if (IsNullable) { if (Presence == Presence.Forbidden) { context.AddError(ForbiddenErrorId, true); return; } if (Presence == Presence.Required) { context.AddError(RequiredErrorId, true); } } for (var i = 0; i < CommandScopes.Count; ++i) { CommandScopes[i].Discover(context); } }
public void Discover(IDiscoveryContext context) { context.EnterPath(Path); if (!ErrorId.HasValue || ErrorMode == ErrorMode.Append) { RunDiscovery(context); } if (ErrorId.HasValue) { context.AddError(ErrorId.Value); } context.LeavePath(); }
public static void ShouldDiscover <T>(this ICommandScope <T> @this, IDiscoveryContext context, Action <IDiscoveryContext> callsAssertions) { @this.Discover(context); Received.InOrder(() => { context.EnterPath(Arg.Is(@this.Path)); if ([email protected] || @this.ErrorMode == ErrorMode.Append) { callsAssertions(context); } if (@this.ErrorId.HasValue) { context.AddError(Arg.Is(@this.ErrorId.Value)); } context.LeavePath(); }); }