@Test
public void testSelectAfterTimebasedPolicy() {
Path dummyPath = new Path("dummy");
DateTime dt1 = new DateTime().minusDays(8);
DateTime dt2 = new DateTime().minusDays(6);
Config config =
ConfigFactory.parseMap(ImmutableMap
.of(SelectAfterTimeBasedPolicy.TIME_BASED_SELECTION_LOOK_BACK_TIME_KEY, "7d"));
SelectAfterTimeBasedPolicy policyLookback7Days = new SelectAfterTimeBasedPolicy(config);
TimestampedDatasetVersion version1 = new TimestampedDatasetVersion(dt1, dummyPath);
TimestampedDatasetVersion version2 = new TimestampedDatasetVersion(dt2, dummyPath);
Assert.assertEquals(policyLookback7Days.listSelectedVersions(Lists.newArrayList(version1, version2)).size(), 1);
Assert.assertEquals(
Lists.newArrayList(policyLookback7Days.listSelectedVersions(Lists.newArrayList(version1, version2))).get(0),
version2);
config =
ConfigFactory.parseMap(ImmutableMap
.of(SelectAfterTimeBasedPolicy.TIME_BASED_SELECTION_LOOK_BACK_TIME_KEY, "1h"));
SelectAfterTimeBasedPolicy policyLookback1Hour = new SelectAfterTimeBasedPolicy(config);
Assert.assertEquals(policyLookback1Hour.listSelectedVersions(Lists.newArrayList(version1, version2)).size(), 0);
config =
ConfigFactory.parseMap(ImmutableMap
.of(SelectAfterTimeBasedPolicy.TIME_BASED_SELECTION_LOOK_BACK_TIME_KEY, "9d"));
SelectAfterTimeBasedPolicy policyLookback8Days = new SelectAfterTimeBasedPolicy(config);
Assert.assertEquals(policyLookback8Days.listSelectedVersions(Lists.newArrayList(version1, version2)).size(), 2);
}