public void RandomSequenceTest() { //Arrange const int numControlPoints = 3; const int dimention = 3; const float maxValue = 3.0f; var sequenceMaker = new RandomSequenceMaker(10, maxValue, numControlPoints, new Dictionary <Guid, int> { { Guid.NewGuid(), (new ManipulatableMock()).GetManipulatableDimention() } }); //Act sequenceMaker.Init( _dummyActions, new Dictionary <Guid, int> { { Guid.NewGuid(), new ManipulatableMock().GetManipulatableDimention() } } ); var sequenceDict = sequenceMaker.GenerateSequence(_dummyActions[0]); //Assert var sequence = sequenceDict.Values.First(); Assert.AreEqual(sequence[0].Values.Length, numControlPoints); Assert.AreEqual(sequence[0].Values.Length, dimention); Assert.Less(sequence[0].Time, sequence[1].Time); Assert.Less(sequence[0].Values[0], maxValue); Assert.Less(sequence[0].Values[1], maxValue); Assert.Less(sequence[0].Values[2], maxValue); Assert.Greater(sequence[0].Values[0], 0); Assert.Greater(sequence[0].Values[1], 0); Assert.Greater(sequence[0].Values[2], 0); }
public override void Init(List <IAction> actions, Dictionary <Guid, int> manipulatableDimensions) { base.Init(actions, manipulatableDimensions); _randomMakerDict = new Dictionary <string, RandomSequenceMaker>(); _candidatesDict = new Dictionary <string, List <Candidate> >(); foreach (var action in actions) { var rsm = new RandomSequenceMaker(MaxSequenceLength, 1.0f, _numControlPoints, manipulatableDimensions); rsm.Init(actions, manipulatableDimensions); _randomMakerDict.Add(action.Name, rsm); _candidatesDict.Add(action.Name, new List <Candidate> { new Candidate(rsm.GenerateSequence(action)) }); } }
public override void Init(List <IAction> actions, Dictionary <Guid, int> manipulatableDimensions) { base.Init(actions, manipulatableDimensions); var actionsList = actions.Where(x => !(x is SubDecisionMakerAction)).ToList(); _candidatesDict = new Dictionary <string, List <Candidate> >(); foreach (var action in actionsList) { var rsm = new RandomSequenceMaker(_sequenceLength, 1, 3, manipulatableDimensions); rsm.Init(new List <IAction> { action }, manipulatableDimensions); var candidates = new List <Candidate>(_minimumCandidates); for (var i = 0; i < candidates.Capacity; i++) { candidates.Add(new Candidate(rsm.GenerateSequence(action))); } _candidatesDict.Add(action.Name, candidates); } }