public ConvertedTime getConvertedTime(long duration) {
        Set<Seconds> keys = RULES.keySet();
        for (Seconds seconds : keys) {
            if (duration <= seconds.getSeconds()) {
                return RULES.get(seconds).getConvertedTime(duration);
            }
        }
        return new TimeConverter.OverTwoYears().getConvertedTime(duration);
    }
@Test
    public void testShouldReport12MonthsFor59Days23Hours59Minutes30Seconds() throws Exception {
        assertEquals(TimeConverter.ABOUT_X_MONTHS_AGO.argument(12), timeConverter
                .getConvertedTime(365 * TimeConverter.DAY_IN_SECONDS - 31));
    }