public void ShouldCorrectlySetEntityStatesForAddedObjectGraph() { //arrange DataFormSettingsDescriptor formDescriptor = Descriptors.AcademicForm; AcademicModel academicModel = null; ObservableCollection <IValidatable> modifiedProperties = CreateValidatablesFormSettings(formDescriptor, typeof(AcademicModel)); IDictionary <string, IValidatable> propertiesDictionary = modifiedProperties.ToDictionary(property => property.Name); propertiesDictionary["LastHighSchoolLocation"].Value = "NC"; propertiesDictionary["NcHighSchoolName"].Value = "NCSCHOOL1"; propertiesDictionary["FromDate"].Value = new DateTime(2019, 5, 20); propertiesDictionary["ToDate"].Value = new DateTime(2021, 5, 20); propertiesDictionary["GraduationStatus"].Value = "DP"; propertiesDictionary["EarnedCreditAtCmc"].Value = true; propertiesDictionary["Institutions"].Value = new ObservableCollection <InstitutionModel> ( new List <InstitutionModel> { new InstitutionModel { InstitutionId = 1, InstitutionState = "FL", InstitutionName = "I1", StartYear = "2011", EndYear = "2013", HighestDegreeEarned = "CT" }, new InstitutionModel { InstitutionId = 2, InstitutionState = "GA", InstitutionName = "I1", StartYear = "2012", EndYear = "2014", HighestDegreeEarned = "DP" }, new InstitutionModel { InstitutionId = 4, InstitutionState = "AL", InstitutionName = "I2", StartYear = "2016", EndYear = "2019", HighestDegreeEarned = "MA" } } ); AcademicModel currentAcademic = serviceProvider.GetRequiredService <IEntityStateUpdater>().GetUpdatedModel ( academicModel, academicModel.EntityToObjectDictionary ( serviceProvider.GetRequiredService <IMapper>(), formDescriptor.FieldSettings ), modifiedProperties, formDescriptor.FieldSettings ); Assert.Equal(LogicBuilder.Domain.EntityStateType.Added, currentAcademic.EntityState); Assert.Equal(LogicBuilder.Domain.EntityStateType.Added, currentAcademic.Institutions.Single(c => c.InstitutionId == 1).EntityState); Assert.Equal(LogicBuilder.Domain.EntityStateType.Added, currentAcademic.Institutions.Single(c => c.InstitutionId == 2).EntityState); Assert.Equal(LogicBuilder.Domain.EntityStateType.Added, currentAcademic.Institutions.Single(c => c.InstitutionId == 4).EntityState); Assert.Equal(3, currentAcademic.Institutions.Count); }