public void StartDateSpecification(DateTime?startDate, bool expected)
        {
            ISpecification <Examination> specification = new ExaminationStartDateSpecification(startDate);
            bool result = specification.IsSatisfiedBy(_examination);

            Assert.Equal(result, expected);
        }
        public static ISpecification <Examination> ToExaminationSpecification(this ExaminationSearchDTO parameters)
        {
            ISpecification <Examination> filter = new ExaminationStartDateSpecification(parameters.StartDate);

            filter = filter.BinaryOperation(
                parameters.EndDateOperator, new ExaminationEndDateSpecification(parameters.EndDate));
            filter = filter.BinaryOperation(
                parameters.DoctorSurnameOperator, new ExaminationDoctorSurnameSpecification(parameters.DoctorSurname));
            filter = filter.BinaryOperation(
                parameters.AnamnesisOperator, new ExaminationAnamnesisSpecification(parameters.Anamnesis));

            return(filter);
        }