Ejemplo n.º 1
0
        public void TestFieldOfViewWithMapEdgeUp()
        {
            GameSetter.SetSampleMap(5, 5);

            var expectedResult = new List <Point>
            {
                new Point(0, 0),
                new Point(1, 0),
                new Point(2, 0),
                new Point(3, 0),
                new Point(4, 0),
                new Point(1, 1),
                new Point(2, 1),
                new Point(3, 1),
                new Point(1, 2),
                new Point(2, 2),
                new Point(3, 2)
            };

            TestFieldOfView(new Point(2, 2), Direction.Up, 3, 2, expectedResult);
        }
Ejemplo n.º 2
0
        public void ShortestPathSearchWithSolidObjectAndOpenedDoor()
        {
            GameSetter.SetMapAndFillWithDecors(3, 3, new List <Tuple <Point, IDecor> >
            {
                Tuple.Create(new Point(1, 0), (IDecor) new Wall()),
                Tuple.Create(new Point(1, 2), (IDecor) new Wall()),
                Tuple.Create(new Point(1, 1), (IDecor) new OpenedDoor())
            });

            var from      = new Point(0, 1);
            var to        = new Point(2, 1);
            var direction = Direction.Right;

            var answer = new List <Query>
            {
                Query.Move,
                Query.Move
            };
            var result = PathFinder.GetPathFromTo(from, to, direction);

            CheckPath(from, to, direction, answer, result);
        }
Ejemplo n.º 3
0
        public void ShortestPathSearchWithMobileObject()
        {
            GameSetter.SetMapAndFillWithDecors(3, 3, new List <Tuple <Point, IDecor> >());
            MobileObjectsManager.InitializationMobileOjects(new HashSet <ICreature>
            {
                MobileObjectsManager.GetCreatureByNameAndInitParams(
                    CreatureTypes.Guard, new MobileObjectInitialization(new Point(1, 1), Direction.Down))
            });

            var from      = new Point(1, 0);
            var to        = new Point(1, 2);
            var direction = Direction.Down;

            var answer = new List <Query>
            {
                Query.Move,
                Query.Move
            };
            var result = PathFinder.GetPathFromTo(from, to, direction);

            CheckPath(from, to, direction, answer, result);
        }
Ejemplo n.º 4
0
        public void PlayerSetterShouldCreateHumanPlayer()
        {
            //Arrange
            string stringInput = "fakeValue";

            Configuration.Setup(x => x.Message.firstVar_15_).Returns(stringInput);
            Configuration.Setup(x => x.Message.secondVar_16_).Returns(It.IsAny <string>());
            Configuration.Setup(x => x.Constant.numberOfCards_1_).Returns(It.IsAny <int>());
            StrategyFactory.Setup(x => x.CreateHumanStrategy()).Returns(new HumanStrategy(Configuration.Object, ConsoleReadMock.Object));
            PlayerFactory.Setup(x => x.CreatePlayer(StrategyFactory.Object.CreateHumanStrategy())).Returns(new Player(Configuration.Object, StrategyFactory.Object.CreateHumanStrategy()));
            InputProvider.Setup(x => x.ReturnUserNameInputValue()).Returns(stringInput);
            StrategyFactory.Setup(x => x.CreateStrategyA()).Returns(value: new StrategyA(Configuration.Object, ConsoleReadMock.Object));
            PlayerFactory.Setup(x => x.CreatePlayer(StrategyFactory.Object.CreateStrategyA())).Returns(new Player(Configuration.Object, StrategyFactory.Object.CreateStrategyA()));

            //Act
            var gameSetter = new GameSetter(Configuration.Object, InputProvider.Object,
                                            PlayerFactory.Object, StrategyFactory.Object);

            gameSetter.CreatePlayersFor36CardGame();
            //Assert
            Assert.IsNotNull(gameSetter.Players[0]);
            Assert.IsNotNull(gameSetter.Players[1]);
        }
Ejemplo n.º 5
0
        public void TestCreateTwoNoiseSourceAndRemoveOneOfThem()
        {
            var width  = 2;
            var height = 2;

            GameSetter.SetMapAndFillWithDecors(width, height, new List <Tuple <Point, IDecor> >());
            var map     = GetMap(width, height);
            var sourse1 = new NoiseSource(NoiseType.GuardVoice, 1, 2, new Point(1, 1), "");
            var sourse2 = new NoiseSource(NoiseType.GuardVoice, 1, 2, new Point(0, 0), "");

            Dijkstra.DijkstraTraversal(map, sourse1, (noises, noise) => { noises.Add(noise); });
            Dijkstra.DijkstraTraversal(map, sourse2, (noises, noise) => { noises.Add(noise); });
            Dijkstra.DijkstraTraversal(map, sourse2, (noises, noise) => { noises.Remove(noise); });
            var mapAnswer = GetMap(width, height);

            ChangeMap(mapAnswer,
                      Tuple.Create(new Point(0, 0), new Noise(sourse1, 1)),
                      Tuple.Create(new Point(0, 1), new Noise(sourse1, 1)),
                      Tuple.Create(new Point(1, 0), new Noise(sourse1, 1)),
                      Tuple.Create(new Point(1, 1), new Noise(sourse1, 2)));

            CheckMap(map, mapAnswer);
        }
Ejemplo n.º 6
0
        public void TestMovePlayer()
        {
            GameSetter.SetSampleMap(3, 3);
            var player = new Player(new MobileObjectInitialization(
                                        new Point(1, 1), Direction.Down));

            MobileObjectsManager.InitializationMobileOjects(new HashSet <ICreature> {
                player
            });

            var gs   = new GameState();
            var move = new List <Keys>
            {
                Keys.W
            };

            foreach (var key in move)
            {
                GameState.KeyPressed = key;
                gs.UpdateState();
            }

            Assert.True(MapManager.Map[1, 2].Creature is Player);
        }
Ejemplo n.º 7
0
        public void TestCreateNoiseSourceWithLowIntensity()
        {
            var width  = 5;
            var height = 5;

            GameSetter.SetMapAndFillWithDecors(width, height, new List <Tuple <Point, IDecor> >());
            var map    = GetMap(width, height);
            var sourse = new NoiseSource(NoiseType.GuardVoice, 1, 2, new Point(2, 2), "");

            Dijkstra.DijkstraTraversal(map, sourse, (noises, noise) => { noises.Add(noise); });
            var mapAnswer = GetMap(width, height);

            ChangeMap(mapAnswer,
                      Tuple.Create(new Point(1, 1), new Noise(sourse, 1)),
                      Tuple.Create(new Point(1, 2), new Noise(sourse, 1)),
                      Tuple.Create(new Point(1, 3), new Noise(sourse, 1)),
                      Tuple.Create(new Point(2, 1), new Noise(sourse, 1)),
                      Tuple.Create(new Point(2, 2), new Noise(sourse, 2)),
                      Tuple.Create(new Point(2, 3), new Noise(sourse, 1)),
                      Tuple.Create(new Point(3, 1), new Noise(sourse, 1)),
                      Tuple.Create(new Point(3, 2), new Noise(sourse, 1)),
                      Tuple.Create(new Point(3, 3), new Noise(sourse, 1)));
            CheckMap(map, mapAnswer);
        }
Ejemplo n.º 8
0
 public void Fin()
 {
     gs = null;
     SceneManager.LoadScene(SceneManager.GetActiveScene().name);
 }