public void TestIsAcceptable1() { var room = new Room(9, 9); var reviewer = new ActionPointsReviewer(); Assert.True(reviewer.IsAcceptable(room)); var item = new RoomItem(100, "test item", new Point(0, -1), new Point(1, -1)); var newDisposition = new ItemDisposition(new Point(0, 1), item); Room addedRoom; var added = room.TryAddItem(newDisposition, out addedRoom); Assert.True(added); Assert.True(reviewer.IsAcceptable(addedRoom)); var item2 = new RoomItem(200, "test item2", new Point(1, -1), new Point(2, -1), new Point(1, 0), new Point(2, 0)); var newDisposition2 = new ItemDisposition(new Point(0, 2), item2); Room addedRoom2; var added2 = addedRoom.TryAddItem(newDisposition2, out addedRoom2); Assert.True(added2); Assert.True(reviewer.IsAcceptable(addedRoom2)); }
public void TestTryAdd2(int x, int y) { var room = new Room(9, 9); var item = new RoomItem(0, "test item", new Point(0, -1), new Point(1, -1)); var newDisposition = new ItemDisposition(new Point(x, y), item); Room addedRoom; var added = room.TryAddItem(newDisposition, out addedRoom); Assert.False(added); }
public void TestTryAdd1() { var room = new Room(9, 9); var item = new RoomItem(100, "test item", new Point(0, -1), new Point(1, -1)); var newDisposition = new ItemDisposition(new Point(0, 1), item); Room addedRoom; var added = room.TryAddItem(newDisposition, out addedRoom); Assert.True(added); Assert.Single(addedRoom.Dispositions); var disposision = addedRoom.Dispositions[0]; Assert.Equal(newDisposition, disposision); var freeFloors = addedRoom.FreeFloors; var floorSummary = addedRoom.FloorSummary; for (int x = 0; x < addedRoom.Width; x++) { for (int y = 0; y < addedRoom.Height; y++) { var p = new Point(x, y); var id = floorSummary[x, y]; if (x == 0 && y == 0) { Assert.DoesNotContain(p, freeFloors); Assert.Equal(100, id); } else if (x == 1 && y == 0) { Assert.DoesNotContain(p, freeFloors); Assert.Equal(100, id); } else { Assert.Contains(p, freeFloors); Assert.Null(id); } } } }
public void TestIsAcceptable2() { var room = new Room(9, 9); var reviewer = new ActionPointsReviewer(); Assert.True(reviewer.IsAcceptable(room)); var item = new RoomItem(100, "test item", new Point(0, -1)); var newDisposition = new ItemDisposition(new Point(0, 1), item); Room addedRoom; var added = room.TryAddItem(newDisposition, out addedRoom); Assert.True(added); Assert.True(reviewer.IsAcceptable(addedRoom)); Assert.True(addedRoom.IsAcceptableWith(reviewer)); item = new RoomItem(200, "test item", new Point(0, 1)); newDisposition = new ItemDisposition(new Point(0, 1), item); Room addedRoom2; added = addedRoom.TryAddItem(newDisposition, out addedRoom2); Assert.True(added); Assert.False(reviewer.IsAcceptable(addedRoom2)); Assert.False(addedRoom2.IsAcceptableWith(reviewer)); item = new RoomItem(300, "test item", new Point(1, 0)); newDisposition = new ItemDisposition(new Point(0, 1), item); Room addedRoom3; added = addedRoom2.TryAddItem(newDisposition, out addedRoom3); Assert.True(added); Assert.False(reviewer.IsAcceptable(addedRoom3)); Assert.False(addedRoom3.IsAcceptableWith(reviewer)); }
public void TestToString() { var room = new Room(9, 9); var item = new RoomItem(0, "test item1", new Point(0, -1), new Point(1, -1)); var newDisposition = new ItemDisposition(new Point(0, 1), item); Room addedRoom; var added = room.TryAddItem(newDisposition, out addedRoom); var item2 = new RoomItem(1, "test item2", new Point(1, -1), new Point(2, -1), new Point(1, 0), new Point(2, 0)); var newDisposition2 = new ItemDisposition(new Point(0, 2), item2); Room addedRoom2; var added2 = addedRoom.TryAddItem(newDisposition2, out addedRoom2); var expected = string.Join(Environment.NewLine, new [] { "[0][0][ ][ ][ ][ ][ ][ ][ ]", "[#][1][1][ ][ ][ ][ ][ ][ ]", "[#][1][1][ ][ ][ ][ ][ ][ ]", "[ ][ ][ ][ ][ ][ ][ ][ ][ ]", "[ ][ ][ ][ ][ ][ ][ ][ ][ ]", "[ ][ ][ ][ ][ ][ ][ ][ ][ ]", "[ ][ ][ ][ ][ ][ ][ ][ ][ ]", "[ ][ ][ ][ ][ ][ ][ ][ ][ ]", "[ ][ ][ ][ ][ ][ ][ ][ ][ ]", "" }); var actual = addedRoom2.ToString(); Assert.Equal(expected, addedRoom2.ToString()); }