/** * @see RegimenManager#findDefinitions(String, org.openmrs.module.kenyaemr.regimen.RegimenOrder, * boolean) */ @Test public void findDefinitions_shouldFindDefinitionsForRegimen() { // Create regimen that matches the regimen2 definition exactly DrugOrder lamivudine = new DrugOrder(); lamivudine.setConcept(Context.getConceptService().getConcept(78643)); lamivudine.setDose(150d); lamivudine.setUnits("mg"); lamivudine.setFrequency("BD"); DrugOrder stavudine = new DrugOrder(); stavudine.setConcept(Context.getConceptService().getConcept(84309)); stavudine.setDose(30d); stavudine.setUnits("mg"); stavudine.setFrequency("OD"); RegimenOrder regimen = new RegimenOrder(new HashSet<DrugOrder>(Arrays.asList(lamivudine, stavudine))); // Test exact match List<RegimenDefinition> defsExact = regimenManager.findDefinitions("category1", regimen, true); Assert.assertEquals(1, defsExact.size()); Assert.assertEquals("regimen2", defsExact.get(0).getName()); // Test non-exact match List<RegimenDefinition> defsNonExact = regimenManager.findDefinitions("category1", regimen, false); Assert.assertEquals(2, defsNonExact.size()); Assert.assertEquals("regimen2", defsNonExact.get(0).getName()); Assert.assertEquals("regimen3", defsNonExact.get(1).getName()); }