コード例 #1
0
        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);
        }
コード例 #2
0
        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");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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");
        }
コード例 #5
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");
        }