@Test(dataProvider = "testConstructGranularityDataProvider") public void testConstructGranularity(int size, TimeUnit unit, DateTimeGranularitySpec granularityExpected) { DateTimeGranularitySpec granularityActual = null; try { granularityActual = new DateTimeGranularitySpec(size, unit); } catch (Exception e) { // invalid arguments } Assert.assertEquals(granularityActual, granularityExpected); }
@DataProvider(name = "testConstructGranularityDataProvider") public Object[][] provideTestConstructGranularityData() { List<Object[]> entries = new ArrayList<>(); entries.add(new Object[]{1, TimeUnit.HOURS, new DateTimeGranularitySpec("1:HOURS")}); entries.add(new Object[]{5, TimeUnit.MINUTES, new DateTimeGranularitySpec("5:MINUTES")}); entries.add(new Object[]{0, TimeUnit.HOURS, null}); entries.add(new Object[]{-1, TimeUnit.HOURS, null}); entries.add(new Object[]{1, null, null}); return entries.toArray(new Object[entries.size()][]); }
@Test(dataProvider = "testGranularityToMillisDataProvider") public void testGranularityToMillis(String granularity, Long millisExpected) { Long millisActual = null; DateTimeGranularitySpec granularitySpec = null; try { granularitySpec = new DateTimeGranularitySpec(granularity); millisActual = granularitySpec.granularityToMillis(); } catch (Exception e) { // invalid arguments } Assert.assertEquals(millisActual, millisExpected); }
public static BaseDateTimeTransformer getDateTimeTransformer(String inputFormatStr, String outputFormatStr, String outputGranularityStr) { DateTimeFormatSpec inputFormat = new DateTimeFormatSpec(inputFormatStr); DateTimeFormatSpec outputFormat = new DateTimeFormatSpec(outputFormatStr); DateTimeGranularitySpec outputGranularity = new DateTimeGranularitySpec(outputGranularityStr); TimeFormat inputTimeFormat = inputFormat.getTimeFormat(); TimeFormat outputTimeFormat = outputFormat.getTimeFormat(); if (inputTimeFormat == TimeFormat.EPOCH) { if (outputTimeFormat == TimeFormat.EPOCH) { return new EpochToEpochTransformer(inputFormat, outputFormat, outputGranularity); } else { return new EpochToSDFTransformer(inputFormat, outputFormat, outputGranularity); } } else { if (outputTimeFormat == TimeFormat.EPOCH) { return new SDFToEpochTransformer(inputFormat, outputFormat, outputGranularity); } else { return new SDFToSDFTransformer(inputFormat, outputFormat, outputGranularity); } } } }