public void CakeMailIntegerBooleanConverter_CanConvert_returns_false() { // Arrange var type = typeof(string); var converter = new CakeMailIntegerBooleanConverter(); // Act var result = converter.CanConvert(type); // 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_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_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(); }
public void CakeMailIntegerBooleanConverter_WriteJson_Throws_exception_when_content_is_not_boolean() { // Arrange var converter = new CakeMailIntegerBooleanConverter(); var value = "This is not a boolean value"; var sb = new StringBuilder(); using (var sw = new StringWriter(sb)) { using (var jsonWriter = new JsonTextWriter(sw)) { // Act Should.Throw <Exception>(() => converter.WriteJson(jsonWriter, value, null)); // Assert // Nothing to assert, since 'WriteJson' will throw an exception } } }
public void CakeMailIntegerBooleanConverter_WriteJson_Successfully_writes_value_representing_true() { // Arrange var converter = new CakeMailIntegerBooleanConverter(); var value = true; var expected = "1"; var sb = new StringBuilder(); using (var sw = new StringWriter(sb)) { using (var jsonWriter = new JsonTextWriter(sw)) { // Act converter.WriteJson(jsonWriter, value, null); // Assert sb.ToString().ShouldBe(expected); } } }