public void Map_DataCollectionViewModelStep2_with_keywords_to_DataCollection()
        {

            var dataCollection = new DataCollection();
            dataCollection.MapFrom(_dataCollectionViewModelStep2);

            Assert.That(dataCollection.ProjectId == 1);
            Assert.That(dataCollection.Keywords.Split(',').Length == 3);
        }
        public void Map_DataCollectionViewModelStep2_with_parties_to_DataCollection()
        {
            var dataCollection = new DataCollection();
            dataCollection.MapFrom(_dataCollectionViewModelStep2);

            Assert.That(dataCollection.ProjectId == 1);
            Assert.That(dataCollection.Parties.Count == 4);
        }
        public void Map_DataCollectionViewModelStep2_with_seo_codes_to_DataCollection_with_existing_seo_codes()
        {
            var dataCollection = new DataCollection();
            var existingSocioEconomicObjectiveCodes = Builder<DataCollectionSocioEconomicObjective>
                .CreateListOfSize(3)
                .TheFirst(1).With(s => s.Id = 1).And(s => s.SocioEconomicObjective = new SocioEconomicObjective { Id = "SOP", Name = "SOP" })
                .TheNext(1).With(s => s.Id = 3).And(s => s.SocioEconomicObjective = new SocioEconomicObjective {Id = "ARM", Name = "Army"})
                .TheLast(1).With(s => s.Id = 4).And(s => s.SocioEconomicObjective = new SocioEconomicObjective {Id = "DEF", Name = "Defence"})
                .Build();
            dataCollection.SocioEconomicObjectives.AddRange(existingSocioEconomicObjectiveCodes);

            dataCollection.MapFrom(_dataCollectionViewModelStep2);

            Assert.That(dataCollection.ProjectId, Is.EqualTo(1), "Project Id incorrect");
            Assert.That(dataCollection.SocioEconomicObjectives.Count, Is.EqualTo(2), "Incorrect number of SEO codes");
            Assert.That(dataCollection.SocioEconomicObjectives[0].Id, Is.EqualTo(1), "First SEO Id does not match");
            Assert.That(dataCollection.SocioEconomicObjectives[0].SocioEconomicObjective.Name, Is.EqualTo("SOP"), "First SEO code Name does not match");
            Assert.That(dataCollection.SocioEconomicObjectives[1].Id, Is.EqualTo(0), "Second SEO Id does not match (needs to be zero as it is a new record)");
            Assert.That(dataCollection.SocioEconomicObjectives[1].SocioEconomicObjective.Name, Is.EqualTo("SOB"), "Second SEO code Name does not match");
        }
        public void Map_DataCollectionViewModelStep2_with_seo_codes_to_DataCollection()
        {
            var dataCollection = new DataCollection();
            dataCollection.MapFrom(_dataCollectionViewModelStep2);

            Assert.That(dataCollection.ProjectId == 1);
            Assert.That(dataCollection.SocioEconomicObjectives.Count == 2);
        }
        public void Map_DataCollectionViewModelStep2_with_for_codes_to_DataCollection_with_existing_for_codes()
        {
            var dataCollection = new DataCollection();
            var existingFieldsOfResearch = Builder<DataCollectionFieldOfResearch>
                .CreateListOfSize(3)
                .TheFirst(1).With(f => f.FieldOfResearch = new FieldOfResearch{ Id = "FOF", Name = "FOF" }).And(f => f.Id = 1)
                .TheNext(1).With(f => f.FieldOfResearch = new FieldOfResearch{ Id = "CAL", Name = "Calculus" }).And(f => f.Id = 3)
                .TheLast(1).With(f => f.FieldOfResearch = new FieldOfResearch{ Id = "SPA", Name = "Spatial Sciences"}).And(f => f.Id = 4)
                .Build();
            dataCollection.FieldsOfResearch.AddRange(existingFieldsOfResearch);

            dataCollection.MapFrom(_dataCollectionViewModelStep2);

            Assert.That(dataCollection.ProjectId, Is.EqualTo(1), "Project Id incorrect");
            Assert.That(dataCollection.FieldsOfResearch.Count, Is.EqualTo(2), "Incorrect number of FoR codes");
            Assert.That(dataCollection.FieldsOfResearch[0].Id, Is.EqualTo(1), "First FoR Id does not match");
            Assert.That(dataCollection.FieldsOfResearch[0].FieldOfResearch.Name, Is.EqualTo("FOF"), "First FoR code Name does not match");
            Assert.That(dataCollection.FieldsOfResearch[1].Id, Is.EqualTo(0), "Second FoR Id does not match (needs to be zero as it is a new record)");
            Assert.That(dataCollection.FieldsOfResearch[1].FieldOfResearch.Name, Is.EqualTo("POP"), "Second FoR code Name does not match");
        }
        public void Map_DataCollectionViewModelStep2_with_for_codes_to_DataCollection()
        {
            var dataCollection = new DataCollection();
            dataCollection.MapFrom(_dataCollectionViewModelStep2);

            Assert.That(dataCollection.ProjectId == 1);
            Assert.That(dataCollection.FieldsOfResearch.Count == 2);
        }