예제 #1
0
        public void WriteJson_WrongInput_ExceptionThrown()
        {
            //Arrange
            var unixTimeConverter = new UnixTime.UnixTimeConverter();

            //Act
            var ex = Assert.Throws <ArgumentException>(() => unixTimeConverter.WriteJson(null, string.Empty, null));

            //Assert
            Assert.Equal("Expect DateTime as input parameter", ex.Message);
        }
예제 #2
0
        public void WriteJson_FullDate_SuccessResult()
        {
            //Arrange
            var unixTimeConverter = new UnixTime.UnixTimeConverter();
            var jsonWriterMock    = new Mock <JsonWriter>();

            //Act
            unixTimeConverter.WriteJson(jsonWriterMock.Object, new DateTime(2017, 08, 04, 16, 2, 2, DateTimeKind.Utc), null);

            //Assert
            jsonWriterMock.Verify(x => x.WriteValue(1501862522L), Times.Once);
        }
예제 #3
0
        public void WriteJson_MoreThan1970_SuccessResult()
        {
            //Arrange
            var unixTimeConverter = new UnixTime.UnixTimeConverter();
            var jsonWriterMock    = new Mock <JsonWriter>();

            //Act
            unixTimeConverter.WriteJson(jsonWriterMock.Object, new DateTime(1971, 1, 1, 0, 0, 0, DateTimeKind.Utc), null);

            //Assert
            jsonWriterMock.Verify(x => x.WriteValue(31536000L), Times.Once);
        }
예제 #4
0
        public void WriteJson_ValidPositiveInput_Success(JsonToken jsonTokenType, object input, DateTime expectedResult)
        {
            //Arrange
            var unixTimeConverter = new UnixTime.UnixTimeConverter();
            var jsonReaderMock    = new Mock <JsonReader>();

            jsonReaderMock.SetupGet(x => x.TokenType).Returns(jsonTokenType);
            jsonReaderMock.SetupGet(x => x.Value).Returns(input);

            //Act
            var result = unixTimeConverter.ReadJson(jsonReaderMock.Object, null, false, null);

            //Assert
            Assert.Equal(expectedResult, result);
        }
예제 #5
0
        public void WriteJson_InvalidTokenType_ExceptionThrown()
        {
            //Arrange
            var unixTimeConverter = new UnixTime.UnixTimeConverter();
            var jsonReaderMock    = new Mock <JsonReader>();

            jsonReaderMock.SetupGet(x => x.TokenType).Returns(JsonToken.Boolean);

            //Act
            var ex = Assert.Throws <ArgumentException>(
                () => unixTimeConverter.ReadJson(jsonReaderMock.Object, null, false, null));

            //Assert
            Assert.Equal("Unexpected token. Integer or String was expected, got Boolean", ex.Message);
        }
예제 #6
0
        public void WriteJson_InvalidString_ExceptionThrown()
        {
            //Arrange
            var unixTimeConverter = new UnixTime.UnixTimeConverter();
            var jsonReaderMock    = new Mock <JsonReader>();

            jsonReaderMock.SetupGet(x => x.TokenType).Returns(JsonToken.String);
            jsonReaderMock.SetupGet(x => x.Value).Returns("wrongInput");

            //Act
            var ex = Assert.Throws <ArgumentException>(
                () => unixTimeConverter.ReadJson(jsonReaderMock.Object, null, false, null));

            //Assert
            Assert.Equal("wrongInput isn't a number", ex.Message);
        }