/// <summary>
        /// Gets the color for an assessment section assembly group.
        /// </summary>
        /// <param name="assessmentSectionAssemblyGroup">The assembly group to get the color for.</param>
        /// <returns>The <see cref="Color"/> corresponding to the given assembly group.</returns>
        /// <exception cref="InvalidEnumArgumentException">Thrown when <paramref name="assessmentSectionAssemblyGroup"/>
        /// has an invalid value for <see cref="AssessmentSectionAssemblyGroup"/>.</exception>
        /// <exception cref="NotSupportedException">Thrown when <paramref name="assessmentSectionAssemblyGroup"/>
        /// is not supported.</exception>
        public static Color GetAssessmentSectionAssemblyGroupColor(AssessmentSectionAssemblyGroup assessmentSectionAssemblyGroup)
        {
            if (!Enum.IsDefined(typeof(AssessmentSectionAssemblyGroup), assessmentSectionAssemblyGroup))
            {
                throw new InvalidEnumArgumentException(nameof(assessmentSectionAssemblyGroup),
                                                       (int)assessmentSectionAssemblyGroup,
                                                       typeof(AssessmentSectionAssemblyGroup));
            }

            switch (assessmentSectionAssemblyGroup)
            {
            case AssessmentSectionAssemblyGroup.APlus:
                return(Color.FromArgb(0, 255, 0));

            case AssessmentSectionAssemblyGroup.A:
                return(Color.FromArgb(118, 147, 60));

            case AssessmentSectionAssemblyGroup.B:
                return(Color.FromArgb(255, 255, 0));

            case AssessmentSectionAssemblyGroup.C:
                return(Color.FromArgb(255, 153, 0));

            case AssessmentSectionAssemblyGroup.D:
                return(Color.FromArgb(255, 0, 0));

            default:
                throw new NotSupportedException();
            }
        }
Пример #2
0
        /// <summary>
        /// Creates a <see cref="SerializableAssessmentSectionAssemblyGroup"/> based on <paramref name="group"/>.
        /// </summary>
        /// <param name="group">The <see cref="AssessmentSectionAssemblyGroup"/> to
        /// create a <see cref="SerializableAssessmentSectionAssemblyGroup"/> for.</param>
        /// <returns>A <see cref="SerializableAssessmentSectionAssemblyGroup"/>.</returns>
        /// <exception cref="InvalidEnumArgumentException">Thrown when <paramref name="group"/>
        /// is an invalid value.</exception>
        /// <exception cref="NotSupportedException">Thrown when <paramref name="group"/>
        /// is a valid value, but unsupported.</exception>
        public static SerializableAssessmentSectionAssemblyGroup Create(AssessmentSectionAssemblyGroup group)
        {
            if (!Enum.IsDefined(typeof(AssessmentSectionAssemblyGroup), group))
            {
                throw new InvalidEnumArgumentException(nameof(group),
                                                       (int)group,
                                                       typeof(AssessmentSectionAssemblyGroup));
            }

            switch (group)
            {
            case AssessmentSectionAssemblyGroup.APlus:
                return(SerializableAssessmentSectionAssemblyGroup.APlus);

            case AssessmentSectionAssemblyGroup.A:
                return(SerializableAssessmentSectionAssemblyGroup.A);

            case AssessmentSectionAssemblyGroup.B:
                return(SerializableAssessmentSectionAssemblyGroup.B);

            case AssessmentSectionAssemblyGroup.C:
                return(SerializableAssessmentSectionAssemblyGroup.C);

            case AssessmentSectionAssemblyGroup.D:
                return(SerializableAssessmentSectionAssemblyGroup.D);

            default:
                throw new NotSupportedException();
            }
        }
        public void GetAssessmentSectionAssemblyGroupColor_WithAssessmentSectionAssemblyGroup_ReturnsExpectedColor(
            AssessmentSectionAssemblyGroup assessmentSectionAssemblyGroup, Color expectedColor)
        {
            // Call
            Color color = AssessmentSectionAssemblyGroupColorHelper.GetAssessmentSectionAssemblyGroupColor(assessmentSectionAssemblyGroup);

            // Assert
            Assert.AreEqual(expectedColor, color);
        }
Пример #4
0
 /// <summary>
 /// Creates an instance of <see cref="ExportableAssessmentSectionAssemblyResult"/>.
 /// </summary>
 /// <param name="assemblyGroup">The group of this assembly result.</param>
 /// <param name="probability">The probability of this assembly result.</param>
 /// <param name="assemblyGroupAssemblyMethod">The method that was used to assemble the assembly group of this result.</param>
 /// <param name="probabilityAssemblyMethod">The method that was used to assemble the probability of this result.</param>
 public ExportableAssessmentSectionAssemblyResult(AssessmentSectionAssemblyGroup assemblyGroup, double probability,
                                                  ExportableAssemblyMethod assemblyGroupAssemblyMethod,
                                                  ExportableAssemblyMethod probabilityAssemblyMethod)
 {
     AssemblyGroup = assemblyGroup;
     Probability   = probability;
     AssemblyGroupAssemblyMethod = assemblyGroupAssemblyMethod;
     ProbabilityAssemblyMethod   = probabilityAssemblyMethod;
 }
        public void CreateAssessmentSectionAssemblyGroup_WithValidAssessmentGrade_ReturnsExpectedAssessmentSectionAssemblyGroup(
            EAssessmentGrade assessmentGrade,
            AssessmentSectionAssemblyGroup expectedAssemblyGroup)
        {
            // Call
            AssessmentSectionAssemblyGroup result = AssessmentSectionAssemblyGroupCreator.CreateAssessmentSectionAssemblyGroup(assessmentGrade);

            // Assert
            Assert.AreEqual(expectedAssemblyGroup, result);
        }
        public void Create_InvalidAssessmentSectionAssemblyGroup_ThrowInvalidEnumArgumentException()
        {
            // Setup
            const AssessmentSectionAssemblyGroup group = (AssessmentSectionAssemblyGroup)999;

            // Call
            void Call() => SerializableAssessmentSectionAssemblyGroupCreator.Create(group);

            // Assert
            var message = $"The value of argument 'group' ({group}) is invalid for Enum type '{nameof(AssessmentSectionAssemblyGroup)}'.";

            TestHelper.AssertThrowsArgumentExceptionAndTestMessage <InvalidEnumArgumentException>(Call, message);
        }
Пример #7
0
 private static void AssertGroupLabel(AssessmentSectionAssemblyGroup result, BorderedLabel groupLabel)
 {
     Assert.AreEqual(EnumDisplayNameHelper.GetDisplayName(result), groupLabel.Text);
     Assert.AreEqual(AssessmentSectionAssemblyGroupColorHelper.GetAssessmentSectionAssemblyGroupColor(result),
                     groupLabel.BackColor);
 }
        public void Create_WithValidAssessmentSectionAssemblyGroup_ReturnExpectedValues(AssessmentSectionAssemblyGroup group,
                                                                                        SerializableAssessmentSectionAssemblyGroup expectedAssemblyGroup)
        {
            // Call
            SerializableAssessmentSectionAssemblyGroup serializableAssemblyGroup = SerializableAssessmentSectionAssemblyGroupCreator.Create(group);

            // Assert
            Assert.AreEqual(expectedAssemblyGroup, serializableAssemblyGroup);
        }
 /// <summary>
 /// Creates a new instance of <see cref="AssessmentSectionAssemblyGroupBoundaries"/>.
 /// </summary>
 /// <param name="lowerBoundary">The lower boundary of the assembly group.</param>
 /// <param name="upperBoundary">The upper boundary of the assembly group.</param>
 /// <param name="assessmentSectionAssemblyGroup">The actual assessment section assembly group.</param>
 public AssessmentSectionAssemblyGroupBoundaries(double lowerBoundary, double upperBoundary, AssessmentSectionAssemblyGroup assessmentSectionAssemblyGroup)
     : base(lowerBoundary, upperBoundary)
 {
     AssessmentSectionAssemblyGroup = assessmentSectionAssemblyGroup;
 }
Пример #10
0
 /// <summary>
 /// Creates a new instance of <see cref="AssessmentSectionAssemblyResult"/>.
 /// </summary>
 /// <param name="probability">The failure probability of the assessment section.</param>
 /// <param name="assemblyGroup">The <see cref="AssessmentSectionAssemblyGroup"/>.</param>
 public AssessmentSectionAssemblyResult(double probability,
                                        AssessmentSectionAssemblyGroup assemblyGroup)
 {
     Probability   = probability;
     AssemblyGroup = assemblyGroup;
 }