Ejemplo n.º 1
0
        ///<inheritdoc cref="IStudent.TakeTest(ITestpaper, string[])"/>
        public void TakeTest(ITestpaper paper, string[] answers)
        {
            var         score      = paper.GetTestResults(answers);
            ITestResult testResult = new TestResult(paper, score);

            _testTaken.Add(testResult);
        }
Ejemplo n.º 2
0
        public void TakeTest(ITestpaper paper, string[] testAnswers)
        {
            double correctAnswersCount = testAnswers.Where((t, i) => t == paper.MarkScheme[i]).Count();
            var    percentageCorrect   = Math.Round(correctAnswersCount * 100 / testAnswers.Length);
            var    percentageToPass    = Convert.ToInt32(paper.PassMark.Remove(paper.PassMark.Length - 1));

            var isPassString = percentageCorrect >= percentageToPass ? "Passed!" : "Failed!";
            var resultString = $"{paper.Subject}: {isPassString} ({percentageCorrect}%)";

            if (TestsTaken[0] == "No tests taken")
            {
                TestsTaken.Clear();
            }
            TestsTaken.Add(resultString);
            TestsTaken.Sort();
        }
        public void TakeTest(ITestpaper paper, string[] answers)
        {
            var questions      = new HashSet <string>(paper.MarkScheme);
            var all            = questions.Count;
            var correct        = 0;
            var passText       = rx.Match(paper.PassMark).Value;
            var passPercentage = double.Parse(passText) / 100.0;

            foreach (var answer in answers)
            {
                if (questions.Contains(answer))
                {
                    correct++;
                }
            }
            var score            = correct / (double)all;
            var scorePercentText = "(" + Math.Round(score * 100.0, MidpointRounding.AwayFromZero).ToString() + "%)";

            var resultScore = score >= passPercentage ? $"{successInfo} {scorePercentText}" : $"{failInfo} {scorePercentText}";
            var result      = $"{paper.Subject}: {resultScore}";

            tests.Add(result);
            tests.Sort();
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Initiate test result
 /// </summary>
 /// <param name="testpaper">test that was processed</param>
 /// <param name="score">result recieved while taking test</param>
 public TestResult(ITestpaper testpaper, string score)
 {
     Testpaper = testpaper;
     Score     = score;
     IsPassed  = testpaper.GetIsPassed(score);
 }