Exemple #1
0
        public void EnsureObjectCanBeSerialized_DoesNotThrow_OnValidType(object value)
        {
            // Arrange
            var testProvider = new BsonTempDataSerializer();

            // Act & Assert (Does not throw)
            testProvider.EnsureObjectCanBeSerialized(value);
        }
Exemple #2
0
        public void DeserializeTempData_ReturnsEmptyDictionary_DataIsEmpty()
        {
            // Arrange
            var serializer = new BsonTempDataSerializer();

            // Act
            var tempDataDictionary = serializer.Deserialize(new byte[0]);

            // Assert
            Assert.NotNull(tempDataDictionary);
            Assert.Empty(tempDataDictionary);
        }
Exemple #3
0
        public void EnsureObjectCanBeSerialized_ThrowsException_OnInvalidDictionaryType(object value, Type type)
        {
            // Arrange
            var testProvider = new BsonTempDataSerializer();

            // Act & Assert
            var exception = Assert.Throws <InvalidOperationException>(() =>
            {
                testProvider.EnsureObjectCanBeSerialized(value);
            });

            Assert.Equal($"The '{typeof(BsonTempDataSerializer).FullName}' cannot serialize a dictionary " +
                         $"with a key of type '{type}'. The key must be of type 'System.String'.",
                         exception.Message);
        }
Exemple #4
0
        public void EnsureObjectCanBeSerialized_ThrowsException_OnInvalidType(object value, Type type)
        {
            // Arrange
            var testProvider = new BsonTempDataSerializer();

            // Act & Assert
            var exception = Assert.Throws <InvalidOperationException>(() =>
            {
                testProvider.EnsureObjectCanBeSerialized(value);
            });

            Assert.Equal($"The '{typeof(BsonTempDataSerializer).FullName}' cannot serialize " +
                         $"an object of type '{type}'.",
                         exception.Message);
        }
Exemple #5
0
        public void SerializeAndDeserialize_NullValue_RoundTripsSuccessfully()
        {
            // Arrange
            var key          = "NullKey";
            var testProvider = new BsonTempDataSerializer();
            var input        = new Dictionary <string, object>
            {
                { key, null }
            };

            // Act
            var bytes  = testProvider.Serialize(input);
            var values = testProvider.Deserialize(bytes);

            // Assert
            Assert.True(values.ContainsKey(key));
            Assert.Null(values[key]);
        }