@Test public void canDetectConcimittingCoursesConflicts() { List<Conflict> conflicts = filter.run(scheduleMock); assertEquals(1, conflicts.size()); verify(aSectionMock).areConcomitting(anotherSectionMock); verify(nextFilterMock).run(scheduleMock); }
@Test public void canSayIfSectionWouldCauseConcomittingCourseConflictWithSchedule() { List<Conflict> conflicts = filter.run(scheduleMock, aSectionMock); assertEquals(1, conflicts.size()); verify(aSectionMock).areConcomitting(anotherSectionMock); verify(nextFilterMock).run(scheduleMock, aSectionMock); }
@Before public void setUp() { TimeSlot timeSlotMock = mock(TimeSlot.class); when(timeSlotMock.isOverlapping(any(TimeSlot.class))).thenReturn(true); List<TimeSlot> timeSlotsMocks = Arrays.asList(timeSlotMock); aSectionMock = mock(Section.class); anotherSectionMock = mock(Section.class); when(aSectionMock.getCourseAcronym()).thenReturn("GLO-4000"); when(aSectionMock.getCoursesAndLabTimeSlots()).thenReturn(timeSlotsMocks); when(aSectionMock.areConcomitting(anotherSectionMock)).thenReturn(true); when(anotherSectionMock.getCourseAcronym()).thenReturn("GLO-3000"); when(anotherSectionMock.getCoursesAndLabTimeSlots()).thenReturn(timeSlotsMocks); List<Section> sectionsMocks = Arrays.asList(aSectionMock, anotherSectionMock); scheduleMock = mock(Schedule.class); when(scheduleMock.getSectionsList()).thenReturn(sectionsMocks); nextFilterMock = mock(Filter.class); filter = new ConcomittingCoursesFilter(); filter.connectToFilter(nextFilterMock); }