[TestCase(2, 2, Dir4.None)] // joined at right-down diagonal public void GetDirAdjacent(int dx, int dy, Dir4 expectedDir) { // transfers based on location; requires EXACT contact Mock <IRoomGen> mockFrom = new Mock <IRoomGen>(MockBehavior.Strict); mockFrom.SetupGet(p => p.Draw).Returns(new Rect(0, 0, 2, 2)); Mock <IRoomGen> mockTo = new Mock <IRoomGen>(MockBehavior.Strict); mockTo.SetupGet(p => p.Draw).Returns(new Rect(dx, dy, 2, 2)); var testFloorPlan = new TestFloorPlan(); Dir4 dir = TestFloorPlan.GetDirAdjacent(mockFrom.Object, mockTo.Object); Assert.That(dir, Is.EqualTo(expectedDir)); }