Exemplo n.º 1
0
        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);
        }