Search in sources :

Example 1 with Definition

use of org.openmrs.module.reporting.evaluation.Definition in project openmrs-module-pihcore by PIH.

the class ReportingMatchers method hasParameter.

public static Matcher<Definition> hasParameter(final String withName, final Class<?> ofType, final Class<? extends Collection> ofCollectionType) {
    return new BaseMatcher<Definition>() {

        @Override
        public boolean matches(Object o) {
            Definition actual = (Definition) o;
            Parameter parameter = actual.getParameter(withName);
            return parameter != null && parameter.getType().equals(ofType) && ((ofCollectionType == null && parameter.getCollectionType() == null) || (ofCollectionType != null && ofCollectionType.equals(parameter.getCollectionType())));
        }

        // TODO fix this implementation or figure out which other matcher implementation to use
        @Override
        public void describeTo(Description description) {
            description.appendText("should have parameter " + withName + " of type " + ofType + " and collection type " + ofCollectionType);
        }
    };
}
Also used : Description(org.hamcrest.Description) BaseMatcher(org.hamcrest.BaseMatcher) Definition(org.openmrs.module.reporting.evaluation.Definition) Parameter(org.openmrs.module.reporting.evaluation.parameter.Parameter)

Aggregations

BaseMatcher (org.hamcrest.BaseMatcher)1 Description (org.hamcrest.Description)1 Definition (org.openmrs.module.reporting.evaluation.Definition)1 Parameter (org.openmrs.module.reporting.evaluation.parameter.Parameter)1