package eu.europa.esig.dss.validation.process.qmatrix.qualification.checks.filter;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
import java.util.Date;
import javax.xml.bind.DatatypeConverter;
import org.junit.Test;
import eu.europa.esig.dss.utils.Utils;
import eu.europa.esig.dss.validation.reports.wrapper.TrustedServiceWrapper;
public class ServiceByDateFilterTest {
private final static Date DATE1 = DatatypeConverter.parseDateTime("2015-07-01T00:00:00-00:00").getTime();
private final static Date DATE2 = DatatypeConverter.parseDateTime("2016-07-01T00:00:00-00:00").getTime();
private final static Date DATE3 = DatatypeConverter.parseDateTime("2017-07-01T00:00:00-00:00").getTime();
@Test
public void noCAQC() {
ServiceByDateFilter filter = new ServiceByDateFilter(DATE2);
assertTrue(Utils.isCollectionEmpty(filter.filter(new ArrayList<TrustedServiceWrapper>())));
}
@Test
public void testInRange() {
ServiceByDateFilter filter = new ServiceByDateFilter(DATE2);
TrustedServiceWrapper service = new TrustedServiceWrapper();
service.setStartDate(DATE1);
service.setEndDate(DATE3);
assertTrue(filter.isAcceptable(service));
}
@Test
public void testNoEndRange() {
ServiceByDateFilter filter = new ServiceByDateFilter(DATE2);
TrustedServiceWrapper service = new TrustedServiceWrapper();
service.setStartDate(DATE1);
assertTrue(filter.isAcceptable(service));
}
@Test
public void testNoDateRange() {
ServiceByDateFilter filter = new ServiceByDateFilter(DATE2);
TrustedServiceWrapper service = new TrustedServiceWrapper();
assertFalse(filter.isAcceptable(service));
}
@Test
public void testNotInRange() {
ServiceByDateFilter filter = new ServiceByDateFilter(DATE3);
TrustedServiceWrapper service = new TrustedServiceWrapper();
service.setStartDate(DATE1);
service.setEndDate(DATE2);
assertFalse(filter.isAcceptable(service));
}
@Test
public void testInRangeSameStartDate() {
ServiceByDateFilter filter = new ServiceByDateFilter(DATE1);
TrustedServiceWrapper service = new TrustedServiceWrapper();
service.setStartDate(DATE1);
service.setEndDate(DATE3);
assertTrue(filter.isAcceptable(service));
}
@Test
public void testInRangeSameEndDate() {
ServiceByDateFilter filter = new ServiceByDateFilter(DATE3);
TrustedServiceWrapper service = new TrustedServiceWrapper();
service.setStartDate(DATE1);
service.setEndDate(DATE3);
assertTrue(filter.isAcceptable(service));
}
}