public void SetUp() { c = new Cell[10, 10]; for (var x = 1; x <= 9; ++x) { for (var y = 1; y <= 9; ++y) { c[x, y] = new Cell(x, y); } } segmentA = new WallSegment(c[2, 5], c[3, 5]); segmentB = new WallSegment(c[3, 4], c[2, 4]); segmentC = new WallSegment(c[2, 3], c[3, 3]); segmentD = new WallSegment(c[2, 5], c[2, 4]); segmentE = new WallSegment(c[3, 5], c[3, 4]); wall_A_B = new Wall(segmentA, segmentB); wall_B_C = new Wall(segmentB, segmentC); wall_D_E = new Wall(segmentD, segmentE); wall_A_B_Copy = new Wall(segmentA, segmentB); wall_B_A = new Wall(segmentB, segmentA); wall_D_E_Copy = new Wall(segmentD, segmentE); wall_E_D = new Wall(segmentE, segmentD); }
public void BlocksAdjacentCells() { Assert.That(() => { var block = new WallSegment(c_2_5, c_3_5); }, Throws.Nothing); Assert.That(() => { var block = new WallSegment(c_3_5, c_2_4); }, Throws.ArgumentException); }
public void SegmentsAdjacency() { var segmentA = new WallSegment(c[2, 5], c[3, 5]); var segmentB = new WallSegment(c[3, 4], c[2, 4]); var segmentC = new WallSegment(c[2, 3], c[3, 3]); Assert.That(WallSegment.AreAdjacent(segmentA, segmentB)); Assert.That(WallSegment.AreAdjacent(segmentA, segmentC), Is.False); var segmentD = new WallSegment(c[2, 5], c[2, 4]); var segmentE = new WallSegment(c[3, 5], c[3, 4]); Assert.That(WallSegment.AreAdjacent(segmentD, segmentE)); }