public void Outset(int x, int y, int radiusX, int radiusY, int delta, int expectedRadiusX, int expectedRadiusY) { var region = new EllipticRegion(new Vector(x, y), new Vector(radiusX, radiusY)); var region2 = (EllipticRegion)region.Outset(delta); Assert.That(region2.Radius, Is.EqualTo(new Vector(expectedRadiusX, expectedRadiusY))); }
public void Shift(int x, int y, int radiusX, int radiusY, int deltaX, int deltaY, int expectedX, int expectedY) { var region = new EllipticRegion(new Vector(x, y), new Vector(radiusX, radiusY)); var region2 = (EllipticRegion)region.Shift(new Vector(deltaX, deltaY)); Assert.That(region2.Center, Is.EqualTo(new Vector(expectedX, expectedY))); }
public void Apply(int x, int y, int radius) { var tile = new Tile { WallId = 1 }; var template = Mock.Of <ITemplate>(t => t.Apply(It.IsAny <Tile>()) == tile); var tool = new BrushTool(radius, template); var extent = Mock.Of <Extent>(e => e.Dimensions == new Vector(10, 10) && e.SetTile(It.IsAny <Vector>(), It.IsAny <Tile>())); tool.Apply(extent, new Vector(x, y)); var region = new EllipticRegion(new Vector(x, y), radius * Vector.One); foreach (var position in region.Where(extent.IsInBounds)) { Mock.Get(extent).Verify(e => e.SetTile(position, tile), Times.Once); } }
/// <inheritdoc /> public int Apply(Extent extent, Vector position) { var region = new EllipticRegion(position, _radius * Vector.One); return(extent.ModifyTiles(region, _pattern)); }
public void LowerBound(int x, int y, int radiusX, int radiusY, int expectedX, int expectedY) { var region = new EllipticRegion(new Vector(x, y), new Vector(radiusX, radiusY)); Assert.That(region.LowerBound, Is.EqualTo(new Vector(expectedX, expectedY))); }
public void GetRadius(int radiusX, int radiusY) { var region = new EllipticRegion(Vector.Zero, new Vector(radiusX, radiusY)); Assert.That(region.Radius, Is.EqualTo(Vector.Abs(new Vector(radiusX, radiusY)))); }
public void GetCenter(int x, int y) { var region = new EllipticRegion(new Vector(x, y), Vector.Zero); Assert.That(region.Center, Is.EqualTo(new Vector(x, y))); }
public void Contains(int x, int y, int radiusX, int radiusY, int testX, int testY, bool expected) { var region = new EllipticRegion(new Vector(x, y), new Vector(radiusX, radiusY)); Assert.That(region.Contains(new Vector(testX, testY)), Is.EqualTo(expected)); }