예제 #1
0
        public TestingResultViewModel(TestingResult tr, TaskTest t)
        {
            Score      = tr.Score;
            Commentary = tr.Commentary;
            Result     = tr.ResultCode.ToString();
            TestType   = t.TestType;
            TestName   = TestsNamesConverter.ConvertTypeToName(TestType);

            if (TestsNamesConverter.IsValidType(TestType))
            {
                object obj = null;
                if (tr.TestData != null)
                {
                    switch (TestType)
                    {
                    case "reflectionTest":
                        obj = JsonConvert.DeserializeObject <ReflectionTestResult>(tr.TestData);
                        break;

                    case "functionalTest":
                        obj = JsonConvert.DeserializeObject <FunctionalTestResult>(tr.TestData);
                        break;

                    case "codeStyleTest":
                        obj = JsonConvert.DeserializeObject <CodeStyleTestResult>(tr.TestData);
                        break;
                    }
                }

                Data = obj;
            }
        }
예제 #2
0
 public TestViewModel(TaskTest test, int key)
 {
     Id     = test.Id;
     Type   = test.TestType;
     Name   = TestsNamesConverter.ConvertTypeToName(test.TestType);
     Weight = (int)(test.Weight * 100);
     Block  = test.Block;
     Key    = key;
     IsNew  = false;
     if (!string.IsNullOrEmpty(test.TestData))
     {
         Data = new string(test.TestData.Take(30).ToArray());
     }
     else
     {
         Data = "empty";
     }
 }
예제 #3
0
        public TaskTestViewModel(TaskTest t, StudentTask task, string[] frameworkTypes, CodeStyleFilesViewModel[] codeStyleFiles)
        {
            CodeStyleFiles = codeStyleFiles;
            FrameworkTypes = frameworkTypes;
            TaskName       = task.Name;
            GroupName      = task.Group.Name;
            Id             = t.Id;
            TaskId         = t.TaskId;
            Type           = t.TestType;

            Name = TestsNamesConverter.ConvertTypeToName(t.TestType);

            if (TestsNamesConverter.IsValidType(Type))
            {
                object obj = null;
                if (t.TestData != null)
                {
                    switch (Type)
                    {
                    case "reflectionTest":
                        obj = JsonConvert.DeserializeObject <ReflectionTestData>(t.TestData);
                        break;

                    case "functionalTest":
                        obj = JsonConvert.DeserializeObject <FunctionalTestData>(t.TestData);
                        break;

                    case "codeStyleTest":
                        obj = JsonConvert.DeserializeObject <CodeStyleTestData>(t.TestData);
                        break;
                    }
                }

                Data  = obj;
                IsRaw = false;
            }
            else
            {
                Data  = t.TestData;
                IsRaw = true;
            }
        }
예제 #4
0
        public IActionResult EditSolution(int id)
        {
            var sol = _db.Solutions.Find(id);

            if (sol is null)
            {
                return(NotFound());
            }

            var testResults = _db.TestingResults.Where(r => r.SolutionId == id).Select(r => new EditTestingResultViewModel
            {
                TestResultId   = r.Id,
                TestCommentary = r.Commentary,
                TestType       = r.Test.TestType,
                TestName       = TestsNamesConverter.ConvertTypeToName(r.Test.TestType),
                TestScore      = r.Score,
                ResultCode     = r.ResultCode.ToString(),
            }).ToList();

            var res = new EditSolutionViewModel
            {
                TaskId         = sol.TaskId,
                SolutionId     = id,
                SolutionScore  = sol.Score,
                ResultCode     = sol.ResultCode.ToString(),
                TestingResults = testResults,
            };

            var allResultCodes = Enum.GetNames <ResultCode>();

            return(View(new EditTaskResultViewModel
            {
                Data = res,
                AllResultCodes = allResultCodes
            }));
        }
예제 #5
0
 public TestType(string type)
 {
     Type     = type;
     Disabled = false;
     Name     = TestsNamesConverter.ConvertTypeToName(type);
 }