public void ModelBaseCollection_SerializationTest1() { var people = new SimplePersonCollection(); people.FirstName = "Tom"; people.LastName = "Jones"; people.Add(new SimplePerson()); people.Add(new SimplePerson()); people.Add(new SimplePerson()); var stream = new MemoryStream(); var serializer = new DataContractSerializer(typeof(SimplePersonCollection)); serializer.WriteObject(stream, people); stream.Position = 0; var newPeople = (SimplePersonCollection)serializer.ReadObject(stream); //Property serialization isn't supported by the data contract serializer //Assert.AreEqual(people.FirstName, newPeople.FirstName); //Assert.AreEqual(people.LastName, newPeople.LastName); //Assert.AreEqual(people.FullName, newPeople.FullName); Assert.AreEqual(people.Count, newPeople.Count); }