public void CheckBallCenterX([Values(1, 3, 5)]int triangleSize) { // Given var cellsCount = PositionHelper.GetCellsCount(triangleSize); var generator = new GridGenerator(cellsCount, new PortableSize(1, 10)); var column = triangleSize / 2; var trianglePosition = new TrianglePosition(0, column, triangleSize); // When var centerOfMiddle = generator.GetCenterOfCell(trianglePosition); // Then centerOfMiddle.X.ShouldBe(0.5); }
private void GenerateGridBalls(GameColorViewModel[] gameColors, Style style, GridGenerator gridGenerator) { var triangleSize = PositionHelper.GetMaxTriangleSize(gameColors.Length); var colorsCount = gameColors.Length; var size = gridGenerator.EllipseSize; for (var index = 0; index < colorsCount; index++) { var circle = new Ellipse(); var targetModel = gameColors[index]; circle.DataContext = targetModel; circle.Style = style; circle.Margin = new Thickness(0, 0, 0, -.75); circle.Width = size.Width; circle.Height = size.Height; targetModel.PropertyChanged += (_, __) => UpdateView(circle, targetModel); var trianglePosition = PositionHelper.GetTrianglePosition(index, triangleSize); var position = gridGenerator.GetCenterOfCell(trianglePosition); ConfigureAndAddElement(GameCanvas, circle, position); UpdateView(circle, targetModel); } }