Example #1
0
            public static ICommand GeneratePlayerAndEnemiesCommand()
            {
                var methodGameStateChanger = new MethodGameStateChanger();

                return(new SerializableCommand <MethodGameStateChanger>
                           (methodGameStateChanger, changer => changer.SetPlayersAndEnemies(TestGameState.Instance, 1, 2)));
            }
Example #2
0
        public void TestOperateOnStateThroughMethod()
        {
            var methodGameStateChanger = new MethodGameStateChanger();

            var setPlayersAndEnemies = TestHelper.GeneratePlayerAndEnemiesCommand();

            setPlayersAndEnemies.Execute();

            Assert.AreEqual(1, TestGameState.Instance.numberOfPlayers);
            Assert.AreEqual(2, TestGameState.Instance.numberOfEnemies);
        }
Example #3
0
        public void TestSerialization()
        {
            var listOfCommands = new List <ICommand>();

            var methodGameStateChanger = new MethodGameStateChanger();
            var setPlayersAndEnemies   = TestHelper.GeneratePlayerAndEnemiesCommand();

            listOfCommands.Add(setPlayersAndEnemies);

            var gameStateChanger        = new GameStateChanger();
            var increaseNumberOfEnemies = new SerializableCommand <GameStateChanger>
                                              (gameStateChanger, changer => changer.IncreaseNumberOfEnemies());

            listOfCommands.Add(increaseNumberOfEnemies);


            byte[] bytes = new byte[0];

            using (var memoryStream = new MemoryStream())
            {
                new BinaryFormatter().Serialize(memoryStream, listOfCommands);
                bytes = memoryStream.ToArray();
            }

            var newListOfCommands = new List <ICommand>();

            using (var memoryStream = new MemoryStream(bytes, 0, bytes.Length))
            {
                memoryStream.Write(bytes, 0, bytes.Length);
                memoryStream.Position = 0;
                var data = new BinaryFormatter().Deserialize(memoryStream);
                newListOfCommands = data as List <ICommand>;
            }

            foreach (var command in newListOfCommands)
            {
                command.Execute();
            }

            Assert.AreEqual(1, TestGameState.Instance.numberOfPlayers);
            Assert.AreEqual(3, TestGameState.Instance.numberOfEnemies);
        }
Example #4
0
        public void TestList()
        {
            var listOfCommands = new List <ICommand>();

            var methodGameStateChanger = new MethodGameStateChanger();
            var setPlayersAndEnemies   = TestHelper.GeneratePlayerAndEnemiesCommand();

            listOfCommands.Add(setPlayersAndEnemies);

            var gameStateChanger        = new GameStateChanger();
            var increaseNumberOfEnemies = new SerializableCommand <GameStateChanger>
                                              (gameStateChanger, changer => changer.IncreaseNumberOfEnemies());

            listOfCommands.Add(increaseNumberOfEnemies);

            foreach (var command in listOfCommands)
            {
                command.Execute();
            }

            Assert.AreEqual(1, TestGameState.Instance.numberOfPlayers);
            Assert.AreEqual(3, TestGameState.Instance.numberOfEnemies);
        }