public virtual void TestNestedPortableVersionedSerializer() { SerializationServiceBuilder builder1 = new SerializationServiceBuilder(); builder1.SetPortableVersion(6); builder1.AddPortableFactory(1, new MyPortableFactory()); ISerializationService ss1 = builder1.Build(); SerializationServiceBuilder builder2 = new SerializationServiceBuilder(); builder2.SetPortableVersion(6); builder2.AddPortableFactory(1, new MyPortableFactory()); ISerializationService ss2 = builder2.Build(); //make sure ss2 cached class definition of Child ss2.ToData(new Child("ubeyd")); //serialized parent from ss1 Parent parent = new Parent(new Child("ubeyd")); IData data = ss1.ToData(parent); // cached class definition of Child and the class definition from data coming from ss1 should be compatible Assert.AreEqual(parent, ss2.ToObject <Parent>(data)); }