public void CreatePolylineSegmentFromDto_ReturnsPolylineSegment_ForArcSegmentDtoFinish()
        {
            // Arrange
            ICircle expectedCircle = CreateExpectedCircle();
            var expectedStartPoint = new Point(1.0,
                                               5.0);
            var expectedEndPoint = new Point(1.0,
                                             -1.0);
            ArcSegmentDto dto = CreateArcSegmentDto();
            var sut = new PathDtoToPath();

            // Act
            var actual = sut.CreatePolylineSegmentFromDto(dto,
                                                          Constants.CircleOrigin.Finish)
                         as ITurnCircleArcSegment;

            // Assert
            Assert.NotNull(actual);
            AssertTurnCircleArcSegment(actual,
                                       expectedCircle,
                                       expectedStartPoint,
                                       expectedEndPoint,
                                       Constants.CircleOrigin.Finish);
        }
        public void CreatePolylineSegmentFromDto_Throws_ForUnknownDto()
        {
            // Arrange
            var dto = new UnknownDto();
            var sut = new PathDtoToPath();

            // Act
            // Assert
            Assert.Throws <ArgumentException>(() => sut.CreatePolylineSegmentFromDto(dto,
                                                                                     Constants.CircleOrigin.Start));
        }
        public void CreatePolylineSegmentFromDto_ReturnsLine_ForLineDto()
        {
            // Arrange
            var expected = new Line(0,
                                    new Point(1.0,
                                              2.0),
                                    new Point(3.0,
                                              4.0),
                                    Constants.LineDirection.Forward);

            LineSegmentDto dto = CreateLineSegmentDto();
            var sut = new PathDtoToPath();

            // Act
            var actual = sut.CreatePolylineSegmentFromDto(dto,
                                                          Constants.CircleOrigin.Start) as ILine;

            // Assert
            Assert.NotNull(actual);
            Assert.AreEqual(expected,
                            actual);
        }