public void CanNotAttack()
        {
            var pos = new Position(1, 1);
            var s = new ChessState();
            var p = new ChessPiece();
            p.Move(new Position(2, 2));
            p.PossibleMoves.Add(new MockTemplate(null, false));

            Assert.IsFalse(p.CanAttack(pos, s));
        }
        public void CanAttack()
        {
            var s = new ChessState();
            var from = new Position(1, 1);
            var to   = new Position(2, 2);
            var p = new ChessPiece();
            s[from] = p;
            s[from].Move(from);
            s[to] = new ChessPiece();
            s[to].Move(to);

            s[from].PossibleMoves.Add(new MockTemplate(null, true));

            Assert.IsTrue(p.CanAttack(to, s));
        }