void FillSerializers
     (XmlNode node, SerializationConfig serializationConfig)
 {
     foreach (XmlNode child in node.ChildNodes)
     {
         string name  = CleanNodeName(child);
         string value = GetTextContent(child);
         if ("serializer".Equals(name))
         {
             var serializerConfig = new SerializerConfig();
             serializerConfig.SetClassName(value);
             string typeClassName = GetAttribute(child, "type-class");
             serializerConfig.SetTypeClassName(typeClassName);
             serializationConfig.AddSerializerConfig(serializerConfig);
         }
         else
         {
             if ("global-serializer".Equals(name))
             {
                 var globalSerializerConfig = new GlobalSerializerConfig();
                 globalSerializerConfig.SetClassName(value);
                 serializationConfig.SetGlobalSerializerConfig(globalSerializerConfig);
             }
         }
     }
 }
 protected internal virtual void FillSerializers(XmlNode node, SerializationConfig serializationConfig)
 {
     foreach (XmlNode child in node.ChildNodes)
     {
         string name = CleanNodeName(child);
         string value = GetTextContent(child);
         if ("serializer".Equals(name))
         {
             var serializerConfig = new SerializerConfig();
             serializerConfig.SetClassName(value);
             string typeClassName = GetAttribute(child, "type-class");
             serializerConfig.SetTypeClassName(typeClassName);
             serializationConfig.AddSerializerConfig(serializerConfig);
         }
         else
         {
             if ("global-serializer".Equals(name))
             {
                 var globalSerializerConfig = new GlobalSerializerConfig();
                 globalSerializerConfig.SetClassName(value);
                 serializationConfig.SetGlobalSerializerConfig(globalSerializerConfig);
             }
         }
     }
 }
        public void TestWriteObjectWithCustomSerializable()
        {
            var config = new SerializationConfig();
            var sc = new SerializerConfig()
                .SetImplementation(new CustomSerializer())
                .SetTypeClass(typeof (CustomSerializableType));
            config.AddSerializerConfig(sc);
            var serializationService =
                new SerializationServiceBuilder().SetPortableVersion(1)
                    .AddPortableFactory(TestSerializationConstants.PORTABLE_FACTORY_ID, new TestPortableFactory())
                    .SetConfig(config).Build();

            var foo = new CustomSerializableType {Value = "foo"};

            var objectCarryingPortable1 = new ObjectCarryingPortable(foo);
            var data = serializationService.ToData(objectCarryingPortable1);
            var objectCarryingPortable2 = serializationService.ToObject<ObjectCarryingPortable>(data);
            Assert.AreEqual(objectCarryingPortable1, objectCarryingPortable2);
        }