Esempio n. 1
0
        public void smartActionPlannerValid()
        {
            var a1 = new FlowerPicker {
                bucket        = 2,
                flowersPicked = 4
            };
            var a2 = new FlowerPicker {
                bucket        = 2,
                flowersPicked = 4
            };

            // equality
            Assert.True(a1.Equals(a2));
            Assert.True(a2.Equals(a1));

            // cloning
            var a3 = new FlowerPicker();

            a1.Clone(a3);
            Assert.True(a1.Equals(a3));

            // hash code
            Assert.True(a1.GetHashCode() == a2.GetHashCode());
            Assert.True(a1.GetHashCode() == a3.GetHashCode());
        }
Esempio n. 2
0
        public void canPlanFlowerPicking()
        {
            var model  = new FlowerPicker();
            var solver = new Solver <FlowerPicker>();
            var plan   = solver.Next(model, new Goal <FlowerPicker>(x => x.flowersPicked >= 40));

            Assert.NotNull(plan);
            var path = plan.Path();

            Assert.NotEmpty(path);
        }
Esempio n. 3
0
        public void canPlanFlowerPickingLarge()
        {
            var model  = new FlowerPicker();
            var solver = new Solver <FlowerPicker>();

            solver.maxIter = solver.maxNodes = 10000; // unlock
            var plan = solver.Next(model, new Goal <FlowerPicker>(x => x.flowersPicked >= 1000));

            Assert.NotNull(plan);
            var path = plan.Path();

            Assert.NotEmpty(path);
        }