public void DataTest() { const int streams = 9; var currentAvailabilities = new CourseStreamAvailability[streams]; var availabilitiesStruct = new AvailableCourseStreams(); AssertAvailabilities(); AdjustAssertAvailabilities(1, CourseStreamAvailability.Mandatory); AdjustAssertAvailabilities(2, CourseStreamAvailability.Optional); AdjustAssertAvailabilities(3, CourseStreamAvailability.Optional); AdjustAssertAvailabilities(1, CourseStreamAvailability.Optional); AdjustAssertAvailabilities(1, CourseStreamAvailability.None); AdjustAssertAvailabilities(streams - 1, CourseStreamAvailability.Mandatory); void AdjustAssertAvailabilities(int index, CourseStreamAvailability availability) { AdjustAvailability(index, availability); AssertAvailabilities(); } void AdjustAvailability(int index, CourseStreamAvailability availability) { currentAvailabilities[index] = availabilitiesStruct[index] = availability; } void AssertAvailabilities() { for (int i = 0; i < streams; i++) { Assert.AreEqual(currentAvailabilities[i], availabilitiesStruct[i]); } } }
private List <int> GetIndices(CourseStreamAvailability availability) { var result = new List <int>(9); for (int i = 0; i < 9; i++) { if (this[i] == availability) { result.Add(i); } } return(result); }