Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        public void DeepCopyConstructorTest()
        {
            var sequenceMaker = new RandomSequenceMaker(10, 3.0f, 3,
                                                        new Dictionary <Guid, int> {
                { Guid.NewGuid(), new ManipulatableMock().GetManipulatableDimention() }
            });

            sequenceMaker.Init(_dummyActions,
                               new Dictionary <Guid, int> {
                { Guid.NewGuid(), new ManipulatableMock().GetManipulatableDimention() }
            });
            Assert.IsNotNull(new RandomSequenceMaker(sequenceMaker));
        }
Esempio n. 3
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))
         });
     }
 }
Esempio n. 4
0
        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);
            }
        }