private void interactionsPerfValidate(interactionType rsp) { Assert.AreEqual(interactionTypeType.performance, rsp.type); correctResponsesTypeCorrectResponsePerformance[] responses = new correctResponsesTypeCorrectResponsePerformance[rsp.correctResponses.Items.Length]; for(int ii = 0;ii<rsp.correctResponses.Items.Length;ii++) { responses[ii] = (correctResponsesTypeCorrectResponsePerformance)rsp.correctResponses.Items[ii]; } learnerResponseTypeLearnerResponsePerformance[] lResponses = new learnerResponseTypeLearnerResponsePerformance[rsp.learnerResponse.Items.Length]; for (int ii = 0; ii < rsp.learnerResponse.Items.Length; ii++) { lResponses[ii] = (learnerResponseTypeLearnerResponsePerformance)rsp.learnerResponse.Items[ii]; } Assert.AreEqual(rsp.result, interactionTypeResult.incorrect); Assert.IsTrue(rsp.resultSpecified); Assert.AreEqual(2, responses.Length, "response count"); Assert.AreEqual(2, responses[0].step.Length, "response 1 step count"); Assert.AreEqual(2, responses[1].step.Length, "response 2 step count"); Assert.AreEqual(2, rsp.learnerResponse.Items.Length, "learner response count"); Assert.AreEqual("answer 1", lResponses[0].stepAnswer.Item.ToString(), "learner response 1 step 1 answer"); Assert.AreEqual("step_1", lResponses[0].stepName, "learner response 1 step 1 name"); Assert.AreEqual("23", lResponses[1].stepAnswer.Item.ToString(), "learner response 2 step 1 answer"); Assert.AreEqual("step_2_min_42", lResponses[1].stepName, "learner response 2 step 1 name"); perfValidateStep(responses[0].step[1], "step_2_min_42", 42M, null, "response 1 step 1"); perfValidateStep(responses[0].step[0], "step_1", "answer 1", "response 1 step 1"); perfValidateStep(responses[1].step[0], "step_1_max_100", null, 100M, "response 2 step 1"); perfValidateStep(responses[1].step[1], "step_2_minmax_no_limit", null, null, "response 2 step 2"); }
public void interactionsPerformanceTest() { LETSIRTE_Service client = getClient(); string int2ID = "Performance_interaction_upd"; cocdType cocd = client.Get(); interactionType perf = cocd.GetInteraction(int2ID, true); perf.type = interactionTypeType.performance; perf.correctResponses = new correctResponsesType(); perf.correctResponses.ItemsElementName = new ItemsChoiceType[] { ItemsChoiceType.correctResponsePerformance, ItemsChoiceType.correctResponsePerformance }; correctResponsesTypeCorrectResponsePerformance rsp = new correctResponsesTypeCorrectResponsePerformance(); correctResponsesTypeCorrectResponsePerformance rsp2 = new correctResponsesTypeCorrectResponsePerformance(); perf.correctResponses.Items = new object[] { rsp, rsp2 }; rsp.step = new correctResponsesTypeCorrectResponsePerformanceStep[] { new correctResponsesTypeCorrectResponsePerformanceStep("step_1", "answer 1"), new correctResponsesTypeCorrectResponsePerformanceStep("step_2_min_42",42M,null) }; rsp2.step = new correctResponsesTypeCorrectResponsePerformanceStep[] { new correctResponsesTypeCorrectResponsePerformanceStep("step_1_max_100", null,100M), new correctResponsesTypeCorrectResponsePerformanceStep("step_2_minmax_no_limit",null,null) }; perf.description = new interactionTypeDescription(); perf.description.Value = "performance interaction"; perf.learnerResponse = new learnerResponseType(); perf.learnerResponse.ItemsElementName = new ItemsChoiceType1[] { ItemsChoiceType1.learnerResponsePerformance, ItemsChoiceType1.learnerResponsePerformance }; learnerResponseTypeLearnerResponsePerformance lrsp = new learnerResponseTypeLearnerResponsePerformance(); learnerResponseTypeLearnerResponsePerformance lrsp2 = new learnerResponseTypeLearnerResponsePerformance(); perf.learnerResponse.Items = new object[] { lrsp, lrsp2 }; lrsp.stepName = "step_1"; lrsp.stepAnswer = new learnerResponseTypeLearnerResponsePerformanceStepAnswer(); lrsp.stepAnswer.Item = "answer 1"; lrsp2.stepName = "step_2_min_42"; lrsp2.stepAnswer = new learnerResponseTypeLearnerResponsePerformanceStepAnswer(); lrsp2.stepAnswer.Item = 23M; // WRONG! perf.result = interactionTypeResult.incorrect; perf.resultSpecified = true; interactionsPerfValidate(cocd.GetInteraction(int2ID, false)); cocd.exit = exit.suspend; cocd.exitSpecified = true; client.Set(cocd); cocd = client.Get(); interactionsPerfValidate(cocd.GetInteraction(int2ID, false)); }