@Override public Object generate(SourceOfRandomness random, GenerationStatus status) { Object array = Array.newInstance(componentType, status.size()); for (int i = 0; i < Array.getLength(array); ++i) Array.set(array, i, component.generate(random, status)); return array; }
@Override public Enum<?> generate(SourceOfRandomness random, GenerationStatus status) { Object[] values = enumType.getEnumConstants(); int index = turnOffRandomness == null ? random.nextInt(0, values.length - 1) : status.attempts() % values.length; return (Enum<?>) values[index]; }
@Override public BigInteger generate(SourceOfRandomness random, GenerationStatus status) { int numberOfBits = status.size() + 1; if (min == null && max == null) return random.nextBigInteger(numberOfBits); BigInteger minToUse = min; BigInteger maxToUse = max; if (minToUse == null) minToUse = maxToUse.subtract(TEN.pow(numberOfBits)); else if (maxToUse == null) maxToUse = minToUse.add(TEN.pow(numberOfBits)); return Ranges.randomBigIntegerInRange(random, minToUse, maxToUse); }
@Override protected Object generateValue( final SourceOfRandomness random, final GenerationStatus status, final Class<BoxFile> type, final String key) { if (BoxFile.FIELD_CONTENT_CREATED_AT.equals(key)) { return ISO8601DateParser.toString(generateValue(random, status, Date.class)); } if (BoxFile.FIELD_CONTENT_MODIFIED_AT.equals(key)) { return ISO8601DateParser.toString(generateValue(random, status, Date.class)); } if (BoxFile.FIELD_CREATED_AT.equals(key)) { return ISO8601DateParser.toString(generateValue(random, status, Date.class)); } if (BoxFile.FIELD_MODIFIED_AT.equals(key)) { return ISO8601DateParser.toString(generateValue(random, status, Date.class)); } if (BoxFile.FIELD_PATH_COLLECTION.equals(key)) { final BoxCollection collection = generateValue(random, status, BoxCollection.class); for (int i = 0; i < status.size(); i++) { final BoxFolder folder = new BoxFolder( new HashMap<String, Object>() { { put(BoxFolder.FIELD_NAME, generateValue(random, status, String.class)); } }); collection.getEntries().add(folder); } return collection; } return super.generateValue(random, status, type, key); }