public void Create_AssessmentSectionNull_ThrowsArgumentNullException()
        {
            // Call
            void Call() => SerializableAssessmentSectionCreator.Create(null);

            // Assert
            var exception = Assert.Throws <ArgumentNullException>(Call);

            Assert.AreEqual("assessmentSection", exception.ParamName);
        }
        public void Create_WithAssessmentSection_ReturnsSerializableAssessmentSection()
        {
            // Setup
            const string assessmentSectionName = "Assessment Section Name";
            const string assessmentSectionId   = "assessmentSectionId";

            ExportableAssessmentSection assessmentSection = CreateAssessmentSection(assessmentSectionName,
                                                                                    assessmentSectionId);

            // Call
            SerializableAssessmentSection serializableAssessmentSection =
                SerializableAssessmentSectionCreator.Create(assessmentSection);

            // Assert
            Assert.AreEqual($"Wks.{assessmentSection.Id}", serializableAssessmentSection.Id);
            Assert.AreEqual(assessmentSectionName, serializableAssessmentSection.Name);

            IEnumerable <Point2D> expectedGeometry = assessmentSection.Geometry;

            Assert.AreEqual(Math2D.Length(expectedGeometry), serializableAssessmentSection.ReferenceLineLength.Value);
            Assert.AreEqual(GeometrySerializationFormatter.Format(expectedGeometry),
                            serializableAssessmentSection.ReferenceLineGeometry.LineString.Geometry);
        }