public void ReadJson_String_ConvertsToBoolean(String value, bool expected) { var reader = new JTokenReader(new JValue(value)); reader.Read(); var result = _converter.ReadJson(reader, typeof(String), null, new JsonSerializer()); Assert.AreEqual(expected, result); }
public void ReadJson_InputNotInteger_ExceptionThrown() { //Arrange var converter = new BooleanConverter(); var jsonReaderMock = new Mock <JsonReader>(); jsonReaderMock.SetupGet(x => x.TokenType).Returns(JsonToken.Float); //Act var ex = Assert.Throws <ArgumentException>( () => converter.ReadJson(jsonReaderMock.Object, null, false, null)); //Arrange Assert.Equal(ex.Message, "Unexpected token. Integer or String was expected, got Float"); }
public void ReadJson_ValidInput_SuccessResult(string input, JsonToken type, bool expectedResult) { //Arrange var converter = new BooleanConverter(); var jsonReaderMock = new Mock <JsonReader>(); jsonReaderMock.SetupGet(x => x.TokenType).Returns(type); jsonReaderMock.SetupGet(x => x.Value).Returns(input); //Act var result = converter.ReadJson(jsonReaderMock.Object, null, null, null); //Arrange Assert.Equal(expectedResult, result); }
public void ReadJson_MoreThan0_ExceptionThrown() { //Arrange var converter = new BooleanConverter(); var jsonReaderMock = new Mock <JsonReader>(); jsonReaderMock.SetupGet(x => x.TokenType).Returns(JsonToken.Integer); jsonReaderMock.SetupGet(x => x.Value).Returns(3); //Act var ex = Assert.Throws <ArgumentException>( () => converter.ReadJson(jsonReaderMock.Object, null, false, null)); //Arrange Assert.Equal(ex.Message, "Input value should be 1 or 0"); }
public void ReadJson_ValidTokenInvalidResult_ExceptionThrown(JsonToken tokenType) { //Arrange var converter = new BooleanConverter(); var jsonReaderMock = new Mock <JsonReader>(); jsonReaderMock.SetupGet(x => x.TokenType).Returns(tokenType); jsonReaderMock.SetupGet(x => x.Value).Returns("wrongValue"); //Act var ex = Assert.Throws <ArgumentException>( () => converter.ReadJson(jsonReaderMock.Object, null, false, null)); //Arrange Assert.Equal(ex.Message, "wrongValue isn't a number"); }