public void CakeMailIntegerBooleanConverter_ReadJson_Successfully_parses_value_representing_false()
        {
            // Arrange
            var json = "\"this value is not '1' therefore it should be interpreted as false\"";

            var converter = new CakeMailIntegerBooleanConverter();
            var reader    = new JsonTextReader(new StringReader(json));

            reader.Read();

            // Act
            var result = (bool)converter.ReadJson(reader, typeof(bool), null, null);

            // Assert
            result.ShouldBeFalse();
        }
        public void CakeMailIntegerBooleanConverter_ReadJson_Throws_exception_when_content_is_not_a_string()
        {
            // Arrange
            var json = "1234";

            var converter = new CakeMailIntegerBooleanConverter();
            var reader    = new JsonTextReader(new StringReader(json));

            reader.Read();

            // Act
            Should.Throw <Exception>(() =>
            {
                var result = (bool)converter.ReadJson(reader, typeof(DateTime), null, null);
            });
        }
        public void CakeMailIntegerBooleanConverter_ReadJson_Successfully_parses_value_representing_true()
        {
            // Arrange
            var json = "\"1\"";

            var converter = new CakeMailIntegerBooleanConverter();
            var reader    = new JsonTextReader(new StringReader(json));

            reader.Read();

            // Act
            var result = (bool)converter.ReadJson(reader, typeof(bool), null, null);

            // Assert
            result.ShouldBeTrue();
        }