public void Contains_IfDoesNotContainPosition_ReturnsFalse() { // Arrange Position position = new Position(-10, 1); RectangularArea sut = CreateSut(); // Act bool contains = sut.Contains(position); // Assert contains.Should().BeFalse(); }
public void Contains_IfContainsPosition_ReturnsTrue() { // Arrange Position position = new Position(1, 1); RectangularArea sut = CreateSut(); // Act bool contains = sut.Contains(position); // Assert contains.Should().BeTrue(); }
public void Contains_IfPositionNotNull_DoesNotThrow() { // Arrange Position position = Position.Origin; RectangularArea sut = CreateSut(); // Act Action act = () => sut.Contains(position); // Assert act.Should().NotThrow(); }
public void Contains_IfPositionNull_Throws() { // Arrange Position position = null; RectangularArea sut = CreateSut(); // Act Action act = () => sut.Contains(position); // Assert act.Should().Throw <ArgumentNullException>() .WithMessage($"Parameter can not be null. (Parameter 'position')"); }
public void Parse_ReturnsArea() { // Arrange string area = "1 2"; RectangularAreaParser sut = CreateSut(); // Act IArea result = sut.Parse(area); // Assert RectangularArea expectedResult = new RectangularArea(Position.Origin, new Position(1, 2)); result.Should().Be(expectedResult); }
RectangleDragInfo AddRectangle(RectangularArea area) { var info = new RectangleDragInfo { Area = area, Rectangle = new Rectangle { Fill = Brushes.Red, StrokeThickness = 5, Opacity = 0.3, Stroke = Brushes.Yellow, Width = area.Width, Height = area.Height }, StartPoint = new Point(area.X, area.Y) }; Canvas.SetLeft(info.Rectangle, area.X); Canvas.SetTop(info.Rectangle, area.Y); canvas.Children.Add(info.Rectangle); areaInfos.Add(info); return(info); }
void canvas_MouseDown(object sender, MouseButtonEventArgs e) { if (Keyboard.Modifiers == ModifierKeys.None) { e.Handled = true; var startPoint = e.GetPosition(canvas); if (dragInfo is NoArea) { if (circleButton.IsChecked == true) { // create circle canvas.CaptureMouse(); var area = new Cylinder { X = startPoint.X, Y = startPoint.Y, R = 0 }; var info = AddCylinder(area); dragInfo = info; Region.Areas.Add(info.Area); } else if (rectangleButton.IsChecked == true) { // create rectangle canvas.CaptureMouse(); var area = new RectangularArea { X = startPoint.X, Y = startPoint.Y, Height = 0, Width = 0 }; var info = AddRectangle(area); dragInfo = info; Region.Areas.Add(info.Area); } else if (deleteButton.IsChecked == true && e.Source is Shape) { // delete shape foreach (var info in areaInfos.ToArray()) { // remove area var circleDragInfo = info as CircleDragInfo; if (circleDragInfo != null && (circleDragInfo.Center == e.Source || circleDragInfo.Circle == e.Source)) { areaInfos.Remove(circleDragInfo); Region.Areas.Remove(circleDragInfo.Area); canvas.Children.Remove(circleDragInfo.Center); canvas.Children.Remove(circleDragInfo.Circle); } var rectangleDragInfo = info as RectangleDragInfo; if (rectangleDragInfo != null && (rectangleDragInfo.Rectangle == e.Source)) { areaInfos.Remove(rectangleDragInfo); Region.Areas.Remove(rectangleDragInfo.Area); canvas.Children.Remove(rectangleDragInfo.Rectangle); } if (info is NoArea) { throw new Exception("NoArea should not be in the list"); } } } } } }