public void should_leave_value_alone_when_not_null()
                {
                    var converter = new NullSafeValueConverter(typeof(Uri));
                    var result = converter.FromDocument(new Uri("http://localhost"));

                    Assert.AreEqual(new Uri("http://localhost"), result);
                }
                public void should_convert_null_into_null()
                {
                    var converter = new NullSafeValueConverter(typeof(Uri));
                    var result = converter.FromDocument(null);

                    Assert.IsNull(result);
                }
                public void should_convert_null_into_null()
                {
                    var converter = new NullSafeValueConverter(typeof(int));
                    var result = converter.FromDocument(null);

                    Assert.AreEqual(0, result);
                }
            public void should_leave_value_alone_when_not_null()
            {
                var converter = new NullSafeValueConverter(typeof(string));
                var result = converter.ToDocument("Sammy");

                Assert.AreEqual("Sammy", result);
            }
            public void should_convert_nulls_into_MongoDBNull()
            {
                var converter = new NullSafeValueConverter(typeof(string));
                var result = converter.ToDocument(null);

                Assert.AreEqual(MongoDBNull.Value, result);
            }
                public void should_leave_value_alone_when_not_null()
                {
                    var converter = new NullSafeValueConverter(typeof(int));
                    var result = converter.FromDocument(42);

                    Assert.AreEqual(42, result);
                }