public void FamilySerializeDeserialize() { Family fieldFamily = FamilyGenerator.GetData(); Family deserializedFamily = new FamilySerializeHelper( string.Format( ".\\serialized\\{0}.{1}", fieldFamily.Name, FamilySerializeHelper.StandardExtension ) ).Save(fieldFamily).Load(); foreach (Member member in fieldFamily.Members.Values) { Assert.AreEqual( deserializedFamily.Members[member.Id].BirthDate, fieldFamily.Members[member.Id].BirthDate ); Assert.AreEqual( deserializedFamily.Members[member.Id].DeathDate, fieldFamily.Members[member.Id].DeathDate ); Assert.AreEqual( deserializedFamily.Members[member.Id].Refs.ParentId, fieldFamily.Members[member.Id].Refs.ParentId ); Assert.AreEqual( deserializedFamily.Members[member.Id].Refs.ChildrenIds.Count(), fieldFamily.Members[member.Id].Refs.ChildrenIds.Count() ); foreach (DateTime at in new HashSet <DateTime>() { DateTime.Now, FamilyGenerator.KalebWeddingDate, FamilyGenerator.KoreyWeddingDate, FamilyGenerator.RumaysaWeddingDate, FamilyGenerator.HenriettaWeddingDate, FamilyGenerator.SebastianWithKarishmaDate }.Where(d => d >= member.BirthDate)) { Assert.AreEqual( deserializedFamily.Members[member.Id].FullName.Value(at), fieldFamily.Members[member.Id].FullName.Value(at) ); Assert.AreEqual( deserializedFamily.Members[member.Id].Status.Value(at), fieldFamily.Members[member.Id].Status.Value(at) ); } } FamilyTests.CheckFieldFamilyReferences(deserializedFamily); }
private void LoadFamily() { Family loadedFamily = new FamilySerializeHelper(FileFullName).Load(); if (loadedFamily == null) { new ValidationFailedDialog("Unable to load family. The file might be damaged.").ShowDialog(); } else { SourceFamily = loadedFamily; UnsavedChanges = false; UpdateUI(); UpdateUIMembersListBox(); } }