public void TestRenderFieldAccessesAllCellsAtLeastOnce() { var field = new Field(5, 5, 5); var mockField = new Mock <IField>(Moq.MockBehavior.Strict); // mock object returns the same data as our actual field instance mockField.SetupGet(f => f.FieldSize).Returns(field.FieldSize); for (var y = 0; y < field.FieldSize.Height; y++) { for (var x = 0; x < field.FieldSize.Width; x++) { mockField.Setup(f => f.Get(x, y)).Returns(field.Get(x, y)); } } IFieldView v = new FieldView(); v.RenderField(mockField.Object); // verify all cells were queried at least once for (var y = 0; y < field.FieldSize.Height; y++) { for (var x = 0; x < field.FieldSize.Width; x++) { mockField.Verify(f => f.Get(x, y), Times.AtLeastOnce); } } }
public void TestRenderFieldSetsCorrectUISize() { var field = new Field(5, 5, 5); var v = new FieldView(); v.RenderField(field); Assert.AreEqual <Size>(v.CellSize.MultiplyBy(5, 5), v.Size); }