public void StateMachineExecutor_SURF_Five_Results_Execute() { // Arrange StateMachineExecutor.Parameters parms = new StateMachineExecutor.Parameters() { Results = new List <IResult>() { new SURFResult() { Coordinator = new Point(1, 23), Note = ENote.C, NumberOfElements = 100, Pixel = Color.Red }, new SURFResult() { Coordinator = new Point(1, 40), Note = ENote.Dm, NumberOfElements = 87, Pixel = Color.Yellow }, new SURFResult() { Coordinator = new Point(40, 23), Note = ENote.G, NumberOfElements = 87, Pixel = Color.Yellow }, new SURFResult() { Coordinator = new Point(15, 44), Note = ENote.Dm, NumberOfElements = 87, Pixel = Color.Yellow }, new SURFResult() { Coordinator = new Point(15, 44), Note = ENote.Dm, NumberOfElements = 87, Pixel = Color.Yellow } }, MaxNotes = 30, TargetType = EModelType.SURF }; // Act List <IState> states = new StateMachineExecutor(parms).Execute(); // Assert Assert.IsNotNull(states); Assert.AreEqual(30, states.Count); states.ForEach(s => { Assert.IsFalse(s.LinkedStates.IsNullOrEmpty()); Assert.AreEqual(4, s.LinkedStates.Count); }); }
private List <IState> ExecuteStateMachine(MusicalizationArgs parser, Model model) { StateMachineExecutor.Parameters parameters = new StateMachineExecutor.Parameters() { LogPath = parser.LogPath, MaxNotes = parser.MaxNotes, ProbabilityCalculation = parser.ProbabilityCalculation, Results = model.Result, SequenceLog = parser.SequenceLog, StateLog = parser.StateLog, TargetType = parser.TargetType }; StateMachineExecutor stateMachineExecutor = new StateMachineExecutor(parameters); stateMachineExecutor.NotificationRequested += LogNotifier; return(stateMachineExecutor.Execute()); }