public NodaTimeDataSet(Func <DateTimeZone>?dateTimeZoneBuilder)
    {
        dateTimeZoneBuilder ??= () => NodaTimeDataSet.DateTimeZoneBuilder(this);

        Instant = new()
        {
            Random = Random
        };
        LocalDate = new(dateTimeZoneBuilder)
        {
            Random = Random
        };
        LocalDateTime = new(dateTimeZoneBuilder)
        {
            Random = Random
        };
        LocalTime = new(dateTimeZoneBuilder)
        {
            Random = Random
        };
        ZonedDateTime = new(dateTimeZoneBuilder)
        {
            Random = Random
        };
    }
 public static NodaTimeDataSet Noda(this Faker faker, Func <DateTimeZone> dateTimeZoneBuilder)
 {
     return(ContextHelper.GetOrSet(faker, () =>
     {
         var dataSet = new NodaTimeDataSet(dateTimeZoneBuilder);
         return dataSet;
     }));
 }
 public static NodaTimeDataSet Noda(this Faker faker, Func <DateTimeZone> dateTimeZoneBuilder)
 {
     Guard.AgainstNull(faker, nameof(faker));
     Guard.AgainstNull(dateTimeZoneBuilder, nameof(dateTimeZoneBuilder));
     return(ContextHelper.GetOrSet(faker, () =>
     {
         var dataSet = new NodaTimeDataSet(dateTimeZoneBuilder);
         return dataSet;
     }));
 }