String probableDataSource = tryExtractMostProbableDataSource(segmentId);
/** * Tests that {@link SegmentId#tryExtractMostProbableDataSource} successfully extracts data sources from some * reasonable segment ids. */ @Test public void testTryParseHeuristically() { List<String> segmentIds = Arrays.asList( "datasource_2015-01-02T00:00:00.000Z_2015-01-03T00:00:00.000Z_ver_0_1", "datasource_2015-01-02T00:00:00.000Z_2015-01-03T00:00:00.000Z_ver", "datasource_1_2015-01-02T00:00:00.000Z_2015-01-03T00:00:00.000Z_ver_0_1", "datasource_1_2015-01-02T00:00:00.000Z_2015-01-03T00:00:00.000Z_ver", "datasource_2015-01-01T00:00:00.000Z_2015-01-02T00:00:00.000Z_2015-01-03T00:00:00.000Z_ver_0_1", "datasource_2015-01-01T00:00:00.000Z_2015-01-02T00:00:00.000Z_2015-01-03T00:00:00.000Z_ver" ); for (String segmentId : segmentIds) { String dataSource = SegmentId.tryExtractMostProbableDataSource(segmentId); Assert.assertTrue("datasource".equals(dataSource) || "datasource_1".equals(dataSource)); Assert.assertTrue(!SegmentId.iteratePossibleParsingsWithDataSource(dataSource, segmentId).isEmpty()); } }