When_calling_ConvolveArcs_With_same_counterClockwise_orientation_and_r1_greater_than_r2_Then_the_correct_result_Should_be_returned() { // Arrange arc1 var arc1 = _factory.CreateArc( radius: 2.0, weight: 2, centerX: 1.0, centerY: 3.0, directionStartX: 2.0, directionStartY: 0.0, directionEndX: 0.0, directionEndY: 5.0, orientation: Orientation.CounterClockwise); // Arrange arc2 var arc2 = _factory.CreateArc( radius: 1.0, weight: 2, centerX: 5.0, centerY: 3.0, directionStartX: 1.0, directionStartY: 0.0, directionEndX: 0.0, directionEndY: 3.0, orientation: Orientation.CounterClockwise); // Arrange expected var expected = _factory.CreateArc( radius: 3.0, weight: 4, centerX: 6.0, centerY: 6.0, directionStartX: 12.0, directionStartY: 0.0, directionEndX: 0.0, directionEndY: 51.0, orientation: Orientation.CounterClockwise); // Act var actual = _factory.ConvolveArcs(arc1, arc2).ToList(); // Assert actual.Should().HaveCount(1); actual.Single().Convolution.As <Arc <double> >().Should().BeEquivalentTo(expected); actual.Single().Parent1.Should().BeSameAs(arc1); actual.Single().Parent2.Should().BeSameAs(arc2); }