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(); }
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)); }
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); }