public void Can_parse_serializers_and_bindings()
{
var hocon = @"
akka.actor {
serializers {
akka-containers = ""Akka.Remote.Serialization.MessageContainerSerializer, Akka.Remote""
proto = ""Akka.Remote.Serialization.ProtobufSerializer, Akka.Remote""
daemon-create = ""Akka.Remote.Serialization.DaemonMsgCreateSerializer, Akka.Remote""
}
serialization-bindings {
# Since com.google.protobuf.Message does not extend Serializable but
# GeneratedMessage does, need to use the more specific one here in order
# to avoid ambiguity
""Akka.Actor.ActorSelectionMessage"" = akka-containers
""Akka.Remote.DaemonMsgCreate, Akka.Remote"" = daemon-create
}
}";
var config = ConfigurationFactory.ParseString(hocon);
var serializersConfig = config.GetConfig("akka.actor.serializers").AsEnumerable().ToList();
var serializerBindingConfig = config.GetConfig("akka.actor.serialization-bindings").AsEnumerable().ToList();
serializersConfig.Select(kvp => kvp.Value)
.First()
.GetString()
.ShouldBe("Akka.Remote.Serialization.MessageContainerSerializer, Akka.Remote");
serializerBindingConfig.Select(kvp => kvp.Key).Last().ShouldBe("Akka.Remote.DaemonMsgCreate, Akka.Remote");
}