001package de.cuioss.test.generator.impl; 002 003import static java.time.ZoneId.getAvailableZoneIds; 004import static java.util.stream.Collectors.toList; 005 006import java.time.LocalDateTime; 007import java.time.ZoneId; 008import java.time.ZoneOffset; 009 010import de.cuioss.test.generator.Generators; 011import de.cuioss.test.generator.TypedGenerator; 012 013/** 014 * Provide any valid value for {@linkplain ZoneOffset} 015 * 016 * @author Eugen Fischer 017 */ 018public class ZoneOffsetGenerator implements TypedGenerator<ZoneOffset> { 019 020 private static final TypedGenerator<ZoneId> ZONE_IDS_GEN = 021 Generators.fixedValues(ZoneId.class, getAvailableZoneIds().stream().map(ZoneId::of).collect(toList())); 022 023 @Override 024 public java.time.ZoneOffset next() { 025 return LocalDateTime.now().atZone(ZONE_IDS_GEN.next()).getOffset(); 026 } 027 028 @Override 029 public Class<ZoneOffset> getType() { 030 return ZoneOffset.class; 031 } 032 033}