Beispiel #1
0
            public void Visit(Date64Type type)
            {
                var builder = new Date64Array.Builder().Reserve(Length);
                var basis   = DateTimeOffset.UtcNow.AddSeconds(-Length);

                for (var i = 0; i < Length; i++)
                {
                    builder.Append(basis.AddSeconds(i));
                }

                Array = builder.Build();
            }
Beispiel #2
0
            public void AppendThenGetGivesNull()
            {
                // Arrange
                var builder = new Date64Array.Builder();

                // Act
                builder = builder.AppendNull();

                // Assert
                var array = builder.Build();

                Assert.Equal(1, array.Length);
                Assert.Null(array.GetDateTime(0));
                Assert.Null(array.GetDateTimeOffset(0));
                Assert.Null(array.GetValue(0));
            }
Beispiel #3
0
            public void AppendDateGivesSameDate(DateTime date)
            {
                // Arrange
                var builder                = new Date64Array.Builder();
                var expectedDateTime       = date;
                var expectedDateTimeOffset =
                    new DateTimeOffset(DateTime.SpecifyKind(date, DateTimeKind.Unspecified), TimeSpan.Zero);
                long expectedValue = (long)date.Subtract(new DateTime(1970, 1, 1)).TotalDays *MillisecondsPerDay;

                // Act
                builder = builder.Append(date);

                // Assert
                var array = builder.Build();

                Assert.Equal(1, array.Length);
                Assert.Equal(expectedDateTime, array.GetDateTime(0));
                Assert.Equal(expectedDateTimeOffset, array.GetDateTimeOffset(0));
                Assert.Equal(expectedValue, array.GetValue(0));
                Assert.Equal(0, array.GetValue(0).Value % MillisecondsPerDay);
            }