public void ReturnsCorrectlyWithoutActions()
        {
            //arrange
            var sut = new AnarchyManagerNew(new IActionOrchestrator[0]);

            //act
            var result = sut.GetAllSchedulesFromOrchestrators();

            //assert
            result.Count().Should().Be(0);
        }
        public void OnlyReturnsSchedulableActionOrchestrators(int scheduled, int scheduledButEmpty, int unscheduled, int expectedCount)
        {
            //arrange
            var orchestrators = GetTestActionOrchestratorsOfType(scheduled, scheduledButEmpty, unscheduled);
            var sut           = new AnarchyManagerNew(orchestrators);

            //act
            var result = sut.GetAllSchedulesFromOrchestrators();

            //assert
            result.Count().Should().Be(expectedCount);
        }
        public void DoesNotReturnUnschedulableActionOrchestrators()
        {
            //arrange
            var orchestrators = GetTestActionOrchestratorsOfType(0, 0, 1);
            var sut           = new AnarchyManagerNew(orchestrators);

            //act
            var result = sut.GetAllSchedulesFromOrchestrators();

            //assert
            result.Should().BeEmpty();
        }
        public void ReturnsSchedulableButEmptyActionOrchestrators()
        {
            //arrange
            var orchestrators = GetTestActionOrchestratorsOfType(0, 1, 0);
            var sut           = new AnarchyManagerNew(orchestrators);

            //act
            var result = sut.GetAllSchedulesFromOrchestrators();

            //assert
            result.Count().Should().Be(1);
        }
        public void PopulatesScheduleCorrectly()
        {
            //arrange
            var orchestrators = GetTestActionOrchestratorsOfType(1, 1, 0);
            var sut           = new AnarchyManagerNew(orchestrators);

            //act
            var result = sut.GetAllSchedulesFromOrchestrators();

            //assert
            result.ToArray()[0].Schedule.Should().Be(orchestrators[0].ExecutionSchedule);
            result.ToArray()[1].Schedule.Should().Be(orchestrators[1].ExecutionSchedule);
        }