Пример #1
0
        public void TestGameAction()
        {
            var     originalBoard  = new GameBoard();
            IAction originalAction = new Setup();
            var     original       = new GameAction(GamePhase.None, originalBoard, originalAction);

            Assert.AreEqual(GamePhase.None, original.State);
            Assert.AreSame(originalBoard, original.Board);
            Assert.AreSame(originalAction, original.Action);

            var clone = original.DeepClone();

            Assert.AreEqual(GamePhase.None, clone.State);
            Assert.AreNotSame(originalBoard, clone.Board);
            Assert.AreNotSame(originalAction, clone.Action);

            original.State = GamePhase.Player1PreSetup;

            Assert.AreEqual(GamePhase.Player1PreSetup, original.State);
            Assert.AreEqual(GamePhase.None, clone.State);
        }