private MultiDataSetRequest.Builder fuzz(final MultiDataSetRequest.Builder reqBuilder) { MultiDataSetRequest.Builder builder = reqBuilder; if (_random.nextDouble() > WITH_FREQUENCY_PROBABILITY) { builder = builder.withFrequency(Frequency.values()[_random.nextInt(Frequency.values().length)]); } if (_random.nextDouble() > WITH_TRANSFORM_PROBABILITY) { builder = builder.withTransform(Transform.values()[(int) (_random.nextInt(Transform.values().length))]); } if (_random.nextDouble() > WITH_MAX_ROWS_PROBABILITY) { builder = builder.withMaxRows(_random.nextInt(MAX_ROWS)); } LocalDate startDate = LocalDate.ofEpochDay(_random.nextInt(MAX_YEARS_OUT * DAYS_PER_YEAR) + (BASE_YEARS_FROM_EPOCH * DAYS_PER_YEAR)); if (_random.nextDouble() > WITH_START_DATE_PROBABILITY) { builder = builder.withStartDate(startDate); } if (_random.nextDouble() > WITH_END_DATE_PROBABILITY) { builder = builder.withEndDate(startDate.plusDays(_random.nextInt(DAYS_PER_YEAR * MAX_PLUS_YEARS))); } return builder; }
@Test(expectedExceptions = QuandlRuntimeException.class) public void testLargeMultiDataSetRequestWithEmpty() { QuandlSession session = getTestSession("https://www.quandl.com/api/v3/multisets.csv?columns=&collapse=monthly&transformation=normalize"); TabularResult tabularResult = session.getDataSets( // expect an exception here because list is empty MultiDataSetRequest.Builder.of() .withFrequency(Frequency.MONTHLY) .withTransform(Transform.NORMALIZE) .build()); Assert.assertEquals(TEST_TABULAR_RESULT, tabularResult); }
@Test(expectedExceptions = QuandlRuntimeException.class) public final void testMultiDataSetRequestTransform() { MultiDataSetRequest.Builder.of(QuandlCodeRequest.allColumns("Hello")).withTransform(null).build(); }