public static IInvocableSequence SetupInSequenceShared <T>(this Mock <T> mock, Expression <Action <T> > setUp, ISequence sequence, PassOrThrows passOrThrows, SequenceInvocationIndices sequenceInvocationIndices) where T : class { sequence = sequence ?? throw new ArgumentNullException(nameof(sequence)); return(SetupInSequence <T>(sequence, mock, setUp, passOrThrows, sequenceInvocationIndices)); }
//without indices public static IInvocableSequence SetupInSequenceSingle <T>(this Mock <T> mock, Expression <Action <T> > setUp, PassOrThrows passOrThrows, int loops = 1) where T : class { ConfirmLoops(loops); return(SetupInSequence(Sequence.Factory.CreateSingle(mock, loops), mock, setUp, passOrThrows)); }
public static IInvocableSequence SetupInSequenceCreateShared <T>(this Mock <T> mock, Expression <Action <T> > setUp, out ISequence sequence, PassOrThrows passOrThrows, SequenceInvocationIndices sequenceInvocationIndices, int loops = 1) where T : class { ConfirmLoops(loops); sequence = Sequence.Factory.CreateShared(loops); return(SetupInSequence <T>(sequence, mock, setUp, passOrThrows, sequenceInvocationIndices)); }
private static IInvocableSequence SetupInSequence <T>(ISequence sequence, Mock <T> mock, Expression <Action <T> > setUp, PassOrThrows passOrThrows, SequenceInvocationIndices sequenceInvocationIndices) where T : class { ConfirmResponsesAndSequenceInvocationIndices(passOrThrows, "passOrThrows", sequenceInvocationIndices); var setUpResult = mock.Setup(setUp); var invocable = Invocable.Factory.CreateSequenceNoReturn <T>(setUpResult, mock, sequence, passOrThrows, sequenceInvocationIndices); sequence.RegisterInvocable(invocable); return(invocable); }