예제 #1
0
        private IEnumerable <InstructorTestResult> GetInstructorTestResults(IEnumerable <InstructorTestDto> testResultsDto)
        {
            var testResults = new List <InstructorTestResult>();

            using (var context = CreateDatabase())
            {
                var testCaseStatuses = context.TestCaseStatuses;
                testResultsDto.ToList()
                .ForEach(tr =>
                {
                    var concepts = new List <string>(tr.Concepts);
                    if (tr.StudentTests.Count > 1)
                    {
                        concepts.Clear();
                        concepts.Add("REDUNDANT_TEST");
                    }

                    var result = new InstructorTestResult()
                    {
                        TestName           = tr.Name,
                        EquivalenceClass   = tr.EquivalenceClass,
                        StudentTestResults = GetStudentTestResults(tr.StudentTests).ToList(),
                        TestCaseStatusId   =
                            testCaseStatuses.Single(tcs => tcs.Name.Equals(tr.TestStatus.ToString())).Id,
                        Passed = tr.Passed,
                    };

                    result.TestResultConcepts = GetTestConcepts(concepts, result).ToList();
                    testResults.Add(result);
                });
            }

            return(testResults);
        }
예제 #2
0
     private IEnumerable <TestResultConcept> GetTestConcepts(IEnumerable <string> concepts, InstructorTestResult instructorTestResult)
     {
         using (var context = CreateDatabase())
         {
             var testConcepts = context.TestConcepts.ToList();
             foreach (var concept in concepts)
             {
                 var testConcept =
                     testConcepts.SingleOrDefault(c => c.Name.ToUpper().Equals(concept.ToUpper()));
                 if (testConcept != null)
                 {
                     yield return new TestResultConcept
                            {
                                TestConceptId = testConcept.Id, InstructorTestResult = instructorTestResult
                            }
                 }
                 ;
             }
         }
     }
 }