@Test public void shouldFindByVersion() { when(finderByVersion.findByVersion(null, "1.2")) .thenReturn(new PastSnapshot("version", new Snapshot())); PastSnapshot variationSnapshot = finder.find(null, 2, "1.2"); verify(finderByVersion).findByVersion(null, "1.2"); assertThat(variationSnapshot.getIndex(), is(2)); assertThat(variationSnapshot.getMode(), is("version")); assertThat(variationSnapshot.getProjectSnapshot(), not(nullValue())); }
@Test public void shouldFindByNumberOfDays() { when(finderByDays.findFromDays(null, 30)) .thenReturn(new PastSnapshot("days", null).setModeParameter("30")); PastSnapshot variationSnapshot = finder.find(null, 1, "30"); verify(finderByDays).findFromDays(null, 30); assertNotNull(variationSnapshot); assertThat(variationSnapshot.getIndex(), is(1)); assertThat(variationSnapshot.getMode(), is("days")); assertThat(variationSnapshot.getModeParameter(), is("30")); }
@Test public void shouldFindByPreviousAnalysis() throws ParseException { final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); final Date date = format.parse("2010-05-18"); Snapshot snapshot = new Snapshot(); snapshot.setCreatedAt(date); when(finderByPreviousAnalysis.findByPreviousAnalysis(null)) .thenReturn(new PastSnapshot(CoreProperties.TIMEMACHINE_MODE_PREVIOUS_ANALYSIS, snapshot)); PastSnapshot variationSnapshot = finder.find(null, 2, CoreProperties.TIMEMACHINE_MODE_PREVIOUS_ANALYSIS); verify(finderByPreviousAnalysis).findByPreviousAnalysis(null); assertThat(variationSnapshot.getIndex(), is(2)); assertThat(variationSnapshot.getMode(), is(CoreProperties.TIMEMACHINE_MODE_PREVIOUS_ANALYSIS)); assertThat(variationSnapshot.getProjectSnapshot(), not(nullValue())); }
@Test public void shouldFindByDate() throws ParseException { final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); final Date date = format.parse("2010-05-18"); when(finderByDate.findByDate(null, date)).thenReturn(new PastSnapshot("date", new Snapshot())); PastSnapshot variationSnapshot = finder.find(null, 2, "2010-05-18"); verify(finderByDate) .findByDate( (Snapshot) anyObject(), argThat( new BaseMatcher<Date>() { public boolean matches(Object o) { return o.equals(date); } public void describeTo(Description description) {} })); assertThat(variationSnapshot.getIndex(), is(2)); assertThat(variationSnapshot.getMode(), is("date")); assertThat(variationSnapshot.getProjectSnapshot(), not(nullValue())); }