/// <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(); } }
/// <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); }
/// <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); }
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; }
/// <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; }