Error while running a test unit
java.lang.AssertionError: expected:<2> but was:<0>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at org.openmrs.util.MigrateDiagnosisTest.migrateShouldVoidEmrapiDiagnosisAndCreateAnewCoreDiagnosis(MigrateDiagnosisTest.java:84)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:73)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:73)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:217)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:83)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:68)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:163)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
package org.openmrs.util;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import java.util.List;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.openmrs.Obs;
import org.openmrs.Patient;
import org.openmrs.api.ConceptService;
import org.openmrs.api.EncounterService;
import org.openmrs.api.PatientService;
import org.openmrs.module.emrapi.EmrApiProperties;
import org.openmrs.module.emrapi.diagnosis.Diagnosis;
import org.openmrs.module.emrapi.diagnosis.DiagnosisMetadata;
import org.openmrs.module.emrapi.diagnosis.DiagnosisService;
import org.openmrs.module.emrapi.test.ContextSensitiveMetadataTestUtils;
import org.openmrs.module.emrapi.visit.EmrVisitService;
import org.openmrs.test.BaseModuleContextSensitiveTest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
@RunWith(SpringJUnit4ClassRunner.class)
public class MigrateDiagnosisTest extends BaseModuleContextSensitiveTest {
private static final String DIAGNOSIS_DATASET = "DiagnosisDataset.xml";
@Autowired
ConceptService conceptService;
@Autowired
EncounterService encounterService;
@Autowired
EmrVisitService emrVisitService;
@Autowired
DiagnosisService emrapiDiagnosisService;
@Autowired
org.openmrs.api.DiagnosisService diagnosisService;
@Autowired
PatientService patientService;
@Autowired
EmrApiProperties emrApiProperties;
private DiagnosisMetadata diagnosisMetadata;
@Before
public void setUp() throws Exception {
executeDataSet(DIAGNOSIS_DATASET);
diagnosisMetadata = ContextSensitiveMetadataTestUtils.setupDiagnosisMetadata(conceptService, emrApiProperties);
}
@Test
public void getAllPatientsWithDiagnosisShouldReturnListOfPatientIdsWithADiagnosis() {
diagnosisMetadata.setDiagnosisSetConcept(conceptService.getConcept(19));
List<Integer> patientIds = emrVisitService.getAllPatientsWithDiagnosis(diagnosisMetadata);
Patient patient1 = patientService.getPatient(patientIds.get(0));
assertEquals(patient1.getId(), new Integer(7));
assertEquals(patient1.getVoided(), false);
}
@Test
public void migrateShouldVoidEmrapiDiagnosisAndCreateAnewCoreDiagnosis() {
Patient patient = patientService.getPatient(7);
OldDiagnosisBuilder oldDiagnosisBuilder = new OldDiagnosisBuilder(diagnosisMetadata);
Obs obs = oldDiagnosisBuilder.buildDiagnosis(patient, "2013-09-10", Diagnosis.Order.SECONDARY, Diagnosis.Certainty.CONFIRMED, "non-coded pain", encounterService.getEncounter(1)).save().get();
oldDiagnosisBuilder.buildDiagnosis(patient, "2013-08-10", Diagnosis.Order.PRIMARY, Diagnosis.Certainty.PRESUMED, "non-coded disease", encounterService.getEncounter(1)).save().get();
assertFalse(obs.getVoided());
List<Diagnosis> emrapiDiagnoses = emrapiDiagnosisService.getDiagnoses(patient, null);
assertEquals(2, emrapiDiagnoses.size());
MigrateDiagnosis migrateDiagnosis = new MigrateDiagnosis();
migrateDiagnosis.migrate(diagnosisMetadata);
assertTrue(obs.getVoided());
List<org.openmrs.Diagnosis> coreDiagnoses = diagnosisService.getDiagnoses(patient, null);
assertEquals(2, coreDiagnoses.size());
}
}
So this is a test that you have created yourself? Would you mind debugging it a little?
It looks like coreDiagnoses
is of size 0, did you investigate why that might be?
well even wen i replace 0 like, assertEquals(0, emrapiDiagnoses.size());
java.lang.AssertionError
at org.junit.Assert.fail(Assert.java:86)
at org.junit.Assert.assertTrue(Assert.java:41)
at org.junit.Assert.assertTrue(Assert.java:52)
at org.openmrs.util.MigrateDiagnosisTest.migrateShouldVoidEmrapiDiagnosisAndCreateAnewCoreDiagnosis(MigrateDiagnosisTest.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:73)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:82)
at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:73)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:217)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:83)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:68)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:163)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Please debug, line by line, until you find out the assertion that fails (should be on line 90).
these are the assertions that fail
Ok so the first one might be the problem, emrapiDiagnoses
is of size 0. Did you investigate that?
here is the Data-Set am using
<?xml version='1.0' encoding='UTF-8'?>
<dataset>
<patient patient_id="7" creator="1" date_created="2015-01-01 00:00:00" voided="false"/>
<patient patient_id="8" creator="1" date_created="2015-01-01 00:00:00" voided="false"/>
<concept concept_id="159965" retired="false" datatype_id="4" class_id="10" is_set="true" creator="1" date_created="2010-12-14 02:44:15.0" version="" changed_by="1" date_changed="2016-07-10 02:52:39.0" uuid="159947AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
<concept concept_id="159946" retired="false" datatype_id="2" class_id="5" is_set="false" creator="1" date_created="2010-12-04 22:02:33.0" version="" changed_by="1" date_changed="2015-12-13 15:09:46.0" uuid="159946AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
<concept concept_id="159394" retired="false" datatype_id="2" class_id="5" is_set="false" creator="1" date_created="2010-08-24 18:54:05.0" version="" changed_by="1" date_changed="2015-11-04 04:45:03.0" uuid="159394AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
<concept concept_id="1284" retired="false" datatype_id="2" class_id="5" is_set="false" creator="1" date_created="2005-02-24 12:33:10.0" version="" changed_by="1" date_changed="2016-07-10 02:53:00.0" uuid="1284AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
<concept concept_id="159943" retired="false" datatype_id="4" class_id="11" is_set="false" creator="1" date_created="2010-12-04 21:52:08.0" version="" changed_by="1" date_changed="2015-11-04 04:43:31.0" uuid="159943AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
<concept concept_id="159393" retired="false" datatype_id="4" class_id="11" is_set="false" creator="1" date_created="2010-08-24 18:49:47.0" version="" changed_by="1" date_changed="2015-11-03 02:37:41.0" uuid="159393AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
<concept concept_id="116128" retired="false" datatype_id="4" class_id="4" is_set="false" creator="1" date_created="2007-11-03 00:00:00.0" version="" changed_by="1" date_changed="2015-11-03 02:51:24.0" uuid="116128AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"/>
<concept_set concept_set_id="38" concept_id="159965" concept_set="1284" sort_weight="1.0" creator="1" date_created="2011-06-09 00:39:52.0" uuid="38AEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"/>
<concept_name concept_name_id="16603" concept_id="116128" name="MALARIA" locale="en" locale_preferred="true" creator="1" date_created="2007-11-02 19:28:08.0" concept_name_type="FULLY_SPECIFIED" voided="false" voided_by="1" uuid="16603BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB"/>
<location location_id="1901" name="Location tagged to visit" creator="1" date_created="2005-01-01 00:00:00.0" retired="false" uuid="f1771d8e-bf1f-4dc5-957f-9d40a5eebf08"/>
<visit visit_id="1010" patient_id="7" visit_type_id="1" date_started="2013-04-04 00:00:00.0" location_id="1901" creator="1" date_created="2005-01-01 00:00:00.0" voided="0" uuid="1esd5218-6b78-11e0-93c3-18a905e044dc" />
<encounter encounter_id="1" encounter_type="2" patient_id="7" location_id="1901" form_id="1" encounter_datetime="2008-08-01 00:00:00.0" creator="1" date_created="2008-08-18 14:09:05.0" voided="false" uuid="7779d653-393b-4118-9c83-a3715b82d4ac" visit_id="1010"/>
<obs obs_id="1" person_id="7" concept_id="159965" encounter_id="1" obs_datetime="2018-05-03 17:47:04.0" location_id="3" creator="1" date_created="2018-05-03 17:47:04.0" voided="false" uuid="fe6b0ab0-0764-439f-977c-e61451fbf9fa" status="FINAL"/>
<obs obs_id="2" person_id="7" concept_id="159946" encounter_id="1" obs_datetime="2018-05-03 17:47:04.0" location_id="3" obs_group_id="1" value_coded="159943" creator="1" date_created="2018-05-03 17:47:04.0" voided="false" uuid="19198a86-1b06-43ed-899d-ada1817b28e2" status="FINAL"/>
<obs obs_id="3" person_id="7" concept_id="159394" encounter_id="1" obs_datetime="2018-05-03 17:47:04.0" location_id="3" obs_group_id="1" value_coded="159393" creator="1" date_created="2018-05-03 17:47:04.0" voided="false" uuid="df4358f3-3070-47b9-bb5c-ff36ed112d51" status="FINAL"/>
<obs obs_id="4" person_id="7" concept_id="1284" encounter_id="1" obs_datetime="2018-05-03 17:47:04.0" location_id="3" obs_group_id="1" value_coded="116128" value_coded_name_id="16603" creator="1" date_created="2018-05-03 17:47:04.0" voided="false" uuid="89f02814-2c50-48ae-bca4-4b4709d42486" status="FINAL"/>
</dataset>
You haven’t given any context about what you are doing (ticket number, … etc) so I’m just guessing.
But if you need encounter diagnoses as part of your test data set, why don’t you use this one: DiagnosisServiceImplTest-SetupDiagnosis.xml?
@darius pointed out something that is important when asking questions, @mozzy when seeking help please can you try to give more context and explain what you are trying to do. What you posted is a printed result of a failed test and doesn’t make any sense to your audience. I still don’t know to help you just from what you posted.
And we’re saying posting an error like that is not useful, you need to give more context, otherwise my response would be, “the message means the unit test is failing, so fix it”