public void Read_WithoutCollector_ThrowsArgumentNullException()
        {
            // Setup
            var entity = new ProjectEntity();

            // Call
            TestDelegate test = () => entity.Read(null);

            // Assert
            string parameter = Assert.Throws <ArgumentNullException>(test).ParamName;

            Assert.AreEqual("collector", parameter);
        }
        public void Read_EntityWithNoAssessmentSections_ThrowsEntityReadException()
        {
            // Setup
            var entity    = new ProjectEntity();
            var collector = new ReadConversionCollector();

            // Call
            void Call() => entity.Read(collector);

            // Assert
            var          exception = Assert.Throws <EntityReadException>(Call);
            const string message   = "Het project bevat geen traject. Dit bestand is mogelijk een gemigreerd project met geen trajecten.";

            Assert.AreEqual(message, exception.Message);
        }
        public void Read_WithAssessmentSection_ReturnsNewProjectWithAssessmentSection()
        {
            // Setup
            AssessmentSectionEntity assessmentSectionEntity = CreateAssessmentSectionEntity(1);
            var entity = new ProjectEntity
            {
                Description = "testName",
                AssessmentSectionEntities =
                {
                    assessmentSectionEntity
                }
            };

            // Call
            RiskeerProject project = entity.Read(new ReadConversionCollector());

            // Assert
            Assert.AreEqual(entity.Description, project.Description);
            Assert.AreEqual(assessmentSectionEntity.Name, project.AssessmentSection.Name);
        }