public void UpdateMethodUpdatesAllFields() { var item = GetRandomTransactionResult(); var copy = new TransactionResult { OrderId = item.OrderId, }; copy.UpdateFrom(item); var serializer = new DataContractJsonSerializer(item.GetType()); var mem1 = new MemoryStream(); var mem2 = new MemoryStream(); serializer.WriteObject(mem1, item); serializer.WriteObject(mem2, copy); mem1.Seek(0L, SeekOrigin.Begin); mem2.Seek(0L, SeekOrigin.Begin); var str1 = new StreamReader(mem1).ReadToEnd(); var str2 = new StreamReader(mem2).ReadToEnd(); Assert.AreEqual(str1, str2); }