Example #1
0
        public static void SerializationDescriptionToSerializerFactory_BuildSerializer___Works_for_matching_description()
        {
            // Arrange
            var configType            = typeof(GenericDiscoveryJsonConfiguration <string>);
            var serializerDescription = new SerializationDescription(
                SerializationKind.Json,
                SerializationFormat.String,
                configType.ToRepresentation());

            var seededSerializer = new NaosJsonSerializer(configType);

            var factory = new SerializationDescriptionToSerializerFactory(serializerDescription, seededSerializer);

            // Act
            var actualSerializer = factory.BuildSerializer(serializerDescription);

            // Assert
            actualSerializer.Should().BeSameAs(seededSerializer);
        }
Example #2
0
        public static void SerializationDescriptionToSerializerFactory_BuildSerializer___Throws_for_nonmatching_description()
        {
            // Arrange
            var configType            = typeof(GenericDiscoveryJsonConfiguration <string>);
            var serializerDescription = new SerializationDescription(
                SerializationKind.Json,
                SerializationFormat.String,
                configType.ToRepresentation());

            var seededSerializer = new NaosJsonSerializer(configType);

            var factory = new SerializationDescriptionToSerializerFactory(serializerDescription, seededSerializer);

            var invalidDescription = new SerializationDescription(SerializationKind.Bson, SerializationFormat.Binary);

            // Act
            var exception = Record.Exception(() => factory.BuildSerializer(invalidDescription));

            // Assert
            exception.Should().NotBeNull();
            exception.Should().BeOfType <NotSupportedException>();
            exception.Message.Should().StartWith("Supplied 'serializationDescription' (SerializationDescription: SerializationKind=Bson, SerializationFormat=Binary, CompressionKind=None, ConfigurationTypeRepresentation=, Metadata=,) does not match 'supportedSerializationDescription' (SerializationDescription: SerializationKind=Json, SerializationFormat=String, CompressionKind=None, ConfigurationTypeRepresentation=Representation.TypeRepresentation: Namespace = Naos.Serialization.Json, Name = GenericDiscoveryJsonConfiguration`1, AssemblyQualifiedName = Naos.Serialization.Json.GenericDiscoveryJsonConfiguration`1, Naos.Serialization.Json");
        }