public TestCompoundStatenodeDefinition( string name, IEnumerable <OneOf <ActionDefinition, ContextActionDefinition> > entryActions, IEnumerable <OneOf <ActionDefinition, ContextActionDefinition> > exitActions, IEnumerable <TransitionDefinition> transitions, IEnumerable <ServiceDefinition> services, IEnumerable <StatenodeDefinition> statenodes, InitialCompoundTransitionDefinition initialTransition, Option <DoneTransitionDefinition> doneTransition) { Name = name ?? throw new ArgumentNullException(nameof(name)); EntryActions = entryActions; ExitActions = exitActions; Transitions = transitions; Services = services; Statenodes = statenodes; InitialTransition = initialTransition ?? throw new ArgumentNullException(nameof(initialTransition)); DoneTransition = doneTransition; }
private static Transition Convert(this InitialCompoundTransitionDefinition definition, ParsedStatenode source, Func <OneOf <StatenodeId, string>, ParsedStatenode> getStatenode) => new Transition(new InitializeEvent(source.Id), source, definition.Target.GetTargetStatenode(source.Id, getStatenode).Yield(), definition.Actions.Convert(), Option.None <Guard>(), false);