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 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 TemplateMoveNoRestrictions() { var m = new MockTemplate(); var s = new GameState(5, 5); Assert.IsTrue(m.CanApply(new Position(3, 3), new Position(1, 2), s)); }
public void TemplateMoveNoMaxLength() { var m = new MockTemplate(null); var s = new GameState(5, 5); Assert.IsTrue(m.CanApply(new Position(3, 3), new Position(3, 4), s)); Assert.IsTrue(m.CanApply(new Position(3, 3), new Position(3, 5), s)); }