/// <summary> /// Creates a copy of the test instance actions. /// </summary> /// <returns>The new copy.</returns> public PatternTestInstanceActions Copy() { var copy = new PatternTestInstanceActions(); copy.beforeTestInstanceChain.Action = beforeTestInstanceChain.Action; copy.initializeTestInstanceChain.Action = initializeTestInstanceChain.Action; copy.setUpTestInstanceChain.Action = setUpTestInstanceChain.Action; copy.executeTestInstanceChain.Action = executeTestInstanceChain.Action; copy.tearDownTestInstanceChain.Action = tearDownTestInstanceChain.Action; copy.disposeTestInstanceChain.Action = disposeTestInstanceChain.Action; copy.afterTestInstanceChain.Action = afterTestInstanceChain.Action; copy.decorateChildTestChain.Action = decorateChildTestChain.Action; copy.runTestInstanceBodyChain.Func = runTestInstanceBodyChain.Func; return copy; }
public DecorateTestInstanceAction(PatternTestState testState, PatternTestInstanceActions decoratedTestInstanceActions) { this.testState = testState; this.decoratedTestInstanceActions = decoratedTestInstanceActions; }
/// <summary> /// Creates an initial test instance state object. /// </summary> /// <param name="testStep">The test step used to execute the test instance.</param> /// <param name="testInstanceActions">The test instance actions.</param> /// <param name="testState">The test state.</param> /// <param name="bindingItem">The data item.</param> /// <param name="body">The body of the test instance.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="testStep"/>, /// <paramref name="testInstanceActions"/> or <paramref name="testState"/> or <paramref name="bindingItem"/> is null.</exception> /// <exception cref="ArgumentException">Thrown if <paramref name="testState"/> belongs to a /// different test from the <paramref name="testStep"/>.</exception> internal PatternTestInstanceState(PatternTestStep testStep, PatternTestInstanceActions testInstanceActions, PatternTestState testState, IDataItem bindingItem, TestAction body) { if (testStep == null) throw new ArgumentNullException("testStep"); if (testInstanceActions == null) throw new ArgumentNullException("testInstanceActions"); if (testState == null) throw new ArgumentNullException("testState"); if (testStep.Test != testState.Test) throw new ArgumentException("The test state belongs to a different test from the test step.", "testState"); if (bindingItem == null) throw new ArgumentNullException("bindingItem"); if (body == null) throw new ArgumentNullException("body"); this.testStep = testStep; this.testInstanceActions = testInstanceActions; this.testState = testState; this.bindingItem = bindingItem; this.body = body; testParameterValues = new Dictionary<PatternTestParameter, object>(); slotValues = new Dictionary<ISlotInfo, object>(); data = new UserDataCollection(); nameBase = testStep.Name; nameSuffixes = string.Empty; }