public void TestStruct() { var first = new As { Bool = true }; var second = new As { Bool = false, B = new Bs { S = "zzz" } }; serializer.Merge(first, ref second); second.AssertEqualsTo(new As { Bool = true, B = new Bs { S = "zzz" } }); first = new As { Bool = true, B = new Bs { S = "qxx" }, Bs = new[] { new Bs(), new Bs { S = "qzz" } } }; second = new As { B = new Bs { S = "zzz", Long = 12341234 }, Bs = new[] { new Bs { S = "xxx" }, new Bs { S = "qqq", Long = 1287346 } } }; serializer.Merge(first, ref second); second.AssertEqualsTo(new As { Bool = true, B = new Bs { S = "qxx", Long = 12341234 }, Bs = new[] { new Bs { S = "xxx" }, new Bs { S = "qzz", Long = 1287346 } } }); }