@Test(expected = IllegalArgumentException.class) public void testNotMatchAnyPattern() throws Exception { DateRangeParser.tryToGetDateRange("doesNotMatchAnyPattern"); } }
private static Product readSingleProduct(File path) throws IOException { final Product product = ProductIO.readProduct(path); if (product == null) { return null; } if (product.getStartTime() != null) { return product; } final String productName = product.getName(); try { final ProductData.UTC[] utcs = DateRangeParser.tryToGetDateRange(productName); product.setStartTime(utcs[0]); product.setEndTime(utcs[1]); return product; } catch (IllegalArgumentException e) { //todo inform the User with Popup Dialog BeamLogManager.getSystemLogger().log(Level.WARNING, "Product '" + productName + "' does not contain readable time information.", e); return null; } } }
@Test public void testTryToGetDateRangeFromValidDailyProduct() throws Exception { ProductData.UTC[] dateRange = DateRangeParser.tryToGetDateRange("20111103_est_wac_wew_1200.dim"); assertEquals(dateRange.length, 2); assertEquals(ProductData.UTC.parse("2011-11-03", "yyyy-MM-dd").getAsDate().getTime(), dateRange[0].getAsDate().getTime()); assertEquals(dateRange[0].getAsDate().getTime(), dateRange[1].getAsDate().getTime()); }
@Test public void testTryToGetDateRangeFromValidDailyProductWithLeadingCharacters() throws Exception { ProductData.UTC[] dateRange = DateRangeParser.tryToGetDateRange("leading_characters_20111103_est_wac_wew_1200.dim"); assertEquals(dateRange.length, 2); assertEquals(ProductData.UTC.parse("2011-11-03", "yyyy-MM-dd").getAsDate().getTime(), dateRange[0].getAsDate().getTime()); assertEquals(dateRange[0].getAsDate().getTime(), dateRange[1].getAsDate().getTime()); }
@Test public void testTryToGetDateRangeFromValidMonthlyProduct() throws Exception { ProductData.UTC[] dateRange = DateRangeParser.tryToGetDateRange("201106_bas_wac_acr_1200.dim"); assertEquals(dateRange.length, 2); assertEquals(ProductData.UTC.parse("2011-06", "yyyy-MM").getAsDate().getTime(), dateRange[0].getAsDate().getTime()); assertEquals(dateRange[0].getAsDate().getTime(), dateRange[1].getAsDate().getTime()); }
@Test public void testTryToGetDateRangeFromValidWeeklyProduct() throws Exception { ProductData.UTC[] dateRange = DateRangeParser.tryToGetDateRange("20110917_20110923_bas_wac_acr_1200.dim"); assertEquals(dateRange.length, 2); assertEquals(ProductData.UTC.parse("2011-09-17", "yyyy-MM-dd").getAsDate().getTime(), dateRange[0].getAsDate().getTime()); assertEquals(ProductData.UTC.parse("2011-09-23", "yyyy-MM-dd").getAsDate().getTime(), dateRange[1].getAsDate().getTime()); }