@Test
public void testPeriodOfPerformanceFilter()
{
logon(TEST_FINANCE_USER);
auftragDao.save(createAuftragWithPeriodOfPerformance(2017, 4, 1, 2017, 4, 30));
auftragDao.save(createAuftragWithPeriodOfPerformance(2017, 4, 3, 2017, 4, 5));
auftragDao.save(createAuftragWithPeriodOfPerformance(2017, 3, 31, 2017, 5, 1));
auftragDao.save(createAuftragWithPeriodOfPerformance(2017, 3, 31, 2017, 4, 5));
auftragDao.save(createAuftragWithPeriodOfPerformance(2017, 3, 31, 2017, 5, 1));
auftragDao.save(createAuftragWithPeriodOfPerformance(2010, 1, 1, 2020, 12, 31));
final AuftragFilter auftragFilter = new AuftragFilter();
assertEquals(17, auftragDao.getList(auftragFilter).size());
setPeriodOfPerformanceStartDateAndEndDate(auftragFilter, 2017, 4, 1, 2017, 4, 30);
assertEquals(6, auftragDao.getList(auftragFilter).size());
setPeriodOfPerformanceStartDateAndEndDate(auftragFilter, 2017, 4, 1, 2017, 4, 1);
assertEquals(5, auftragDao.getList(auftragFilter).size());
auftragFilter.setPeriodOfPerformanceStartDate(null);
assertEquals(5, auftragDao.getList(auftragFilter).size());
setPeriodOfPerformanceStartDateAndEndDate(auftragFilter, 2017, 4, 6, 2017, 4, 6);
assertEquals(4, auftragDao.getList(auftragFilter).size());
auftragFilter.setPeriodOfPerformanceStartDate(null);
assertEquals(6, auftragDao.getList(auftragFilter).size());
setPeriodOfPerformanceStartDateAndEndDate(auftragFilter, 2016, 1, 1, 2016, 1, 1);
assertEquals(1, auftragDao.getList(auftragFilter).size());
auftragFilter.setPeriodOfPerformanceEndDate(null);
assertEquals(6, auftragDao.getList(auftragFilter).size());
}