/// <summary>
        /// Constructor.
        /// </summary>
        public StudentQuestionResultViewModel(
            StudentQuestionResult result,
            Func<int, string> getQuestionUrl)
        {
            QuestionName = getQuestionUrl != null
                ? GetLink
                    (
                        getQuestionUrl(result.QuestionId),
                        result.QuestionName,
                        preventWrapping: true
                    )
                : GetColoredText
                    (
                        "black",
                        result.QuestionName,
                        bold: false,
                        preventWrapping: true
                    );

            ScoreText = GetColoredText
            (
                "black",
                $"{result.Score} / {result.QuestionPoints}",
                bold: false,
                preventWrapping: true
            );

            Status = GetColoredText
            (
                result.Status.GetColor(),
                result.Status.GetText(),
                result.Status.GetBold(),
                preventWrapping: true
            );
        }
 /// <summary>
 /// Verifies a single question result.
 /// </summary>
 private void VerifyStudentQuestionResult(
     StudentQuestionResult expected,
     StudentQuestionResult actual)
 {
     Assert.Equal(expected.QuestionName, actual.QuestionName);
     Assert.Equal(expected.QuestionPoints, actual.QuestionPoints);
     Assert.Equal(expected.Score, actual.Score);
     Assert.Equal(expected.Status.Completion, actual.Status.Completion);
     Assert.Equal(expected.Status.Late, actual.Status.Late);
 }