public void DiagonalMovePathCheck() { var m = new DiagonalMoveTemplate(); var s = new GameState(3, 3); s[new Position(2, 2)] = new Piece(); Assert.IsFalse(m.CanApply(new Position(1, 1), new Position(3, 3), s)); }
public Piece(Piece copy) { IsEmpty = copy.IsEmpty; Player = copy.Player; Pos = copy.Pos; PossibleMoves = new List<ITemplateMove>(copy.PossibleMoves); path = new Stack<Position>(copy.Path); }
public void MoveTest() { var p = new Piece(); var pos = new Position(1, 1); p.Move(pos); Assert.AreEqual(1, p.PathLength); Assert.AreEqual(pos, p.Pos); }
public void NewEmptyPiece() { var s = new GameState(5, 5); var pos = new Position(3, 3); s[pos] = new Piece(); s.NewEmptyPiece(pos); Assert.IsTrue(s[pos].IsEmpty); }
public void UnmoveTest() { var to = new Position(1, 1); var p = new Piece(); p.Move(to); p.Unmove(); Assert.AreEqual(0, p.PathLength); Assert.AreEqual(null, p.Pos); }
public void CaptureMove() { var s = new GameState(5, 5); var from = new Position(1, 1); var to = new Position(2, 2); s[from] = new Piece(); var movingPiece = s[from]; s[to] = new Piece(); var m = new ConcreteMove(from, to); m.Apply(s); Assert.AreEqual(s[to], movingPiece); }
public void GetConcreteFromTemplate() { var s = new GameState(5, 5); var from = new Position(1, 1); var to = new Position(2, 2); s[from] = new Piece(); var movingPiece = s[from]; var m = new MockTemplate().Concretize(from, to); m.Apply(s); Assert.IsTrue(s[from].IsEmpty); Assert.AreNotEqual(s[from], movingPiece); Assert.AreEqual(s[to], movingPiece); }
public void MakeMoveIsStateChanged() { var g = new MockGame(); var from = new Position(1, 1); var to = new Position(2, 2); var p = new Piece(); var m = new ConcreteMove(from, to); g.State[from] = p; p.Move(from); g.AddMove(m); g.MakeMove(); Assert.AreEqual(p, g.State[to]); }
public void MakeMove() { var g = new MockGame(); var from = new Position(1, 1); var to = new Position(2, 2); var p = new Piece(); var m = new ConcreteMove(from, to); g.State[from] = p; p.Move(from); g.AddMove(m); bool result = g.MakeMove(); Assert.AreEqual(1, g.MovesCount); Assert.AreEqual(1, g.CurrentMove); Assert.IsTrue(result); }
public void GetPresentationException() { var p = new EnglishFENPresentation(); var o = new Piece(); p.GetPresentation(o); }
public virtual void NewEmptyPiece(Position pos) { var p = new Piece {IsEmpty = true}; this[pos] = p; p.Move(pos); }
public void TemplateMovePathCheck() { var m = new MockTemplate(null, null, true); var s = new GameState(5, 5); s[new Position(3, 4)] = new Piece(); Assert.IsFalse(m.CanApply(new Position(3, 3), new Position(3, 5), s)); }
public void TemplateMoveNotCapture() { var m = new MockTemplate(null, false); var s = new GameState(5, 5); s[new Position(5, 5)] = new Piece(); Assert.IsFalse(m.CanApply(new Position(3, 3), new Position(5, 5), s)); Assert.IsTrue(m.CanApply(new Position(3, 3), new Position(4, 4), s)); }
public void GetPresentationException() { var p = new FigurinePresentation(); var o = new Piece(); p.GetPresentation(o); }