    @Test
    public void shouldMapNewDrugOrder() throws ParseException, NoSuchFieldException, IllegalAccessException {


        DrugOrder openMrsDrugOrder = drugOrder(CareSetting.CareSettingType.OUTPATIENT, 3, "3-0-2", 5, "before meals", "boil in water", null, "ORD-100");
        Concept concept = concept("newConcept", "newConceptDataType", "newConceptUuid");

        openMrsDrugOrder.setConcept(concept);
        EncounterTransaction.DrugOrder drugOrder = orderMapper1_12.mapDrugOrder(openMrsDrugOrder);

        assertThat(drugOrder.getCareSetting(), is(equalTo(OUT_PATIENT_CARE_SETTING)));
        assertThat(drugOrder.getAction(), is(equalTo(Order.Action.NEW.name())));
        assertThat(drugOrder.getDrug().getUuid(), is(equalTo(DRUG_UUID)));
        assertThat(drugOrder.getDosingInstructionType(), is(equalTo(SimpleDosingInstructions.class.getName())));
        assertThat(drugOrder.getDuration(), is(equalTo(5)));
        assertThat(drugOrder.getDurationUnits(), is(equalTo(DAY_DURATION_UNIT)));

        assertThat(drugOrder.getDateActivated(), is(equalTo(new LocalDate().toDate())));
        assertThat(drugOrder.getScheduledDate(), is(equalTo(new LocalDate().plusDays(3).toDate())));
        assertThat(drugOrder.getEffectiveStartDate(), is(equalTo(new LocalDate().plusDays(3).toDate())));
        assertThat(drugOrder.getAutoExpireDate(), is(equalTo(new LocalDate().plusDays(8).toDate())));
        assertThat(drugOrder.getEffectiveStopDate(), is(equalTo(new LocalDate().plusDays(8).toDate())));

        assertThat(drugOrder.getDosingInstructions().getDose(), is(equalTo(2.0)));
        assertThat(drugOrder.getDosingInstructions().getDoseUnits(), is(equalTo(CAPSULE_DOSE_UNIT)));

        assertThat(drugOrder.getDosingInstructions().getRoute(), is(equalTo(MOUTH_ROUTE)));
        assertTrue(drugOrder.getDosingInstructions().getAsNeeded());

        assertThat(drugOrder.getDosingInstructions().getFrequency(), is(equalTo(TWICE_A_DAY_FREQUENCY)));

        assertThat(drugOrder.getDosingInstructions().getQuantity(), is(equalTo(1.0)));
        assertThat(drugOrder.getDosingInstructions().getQuantityUnits(), is(equalTo(TABLET_QUANTITY_UNIT)));
        assertThat(drugOrder.getDosingInstructions().getAdministrationInstructions(), is(equalTo("3-0-2")));

        assertThat(drugOrder.getInstructions(), is(equalTo("before meals")));
        assertThat(drugOrder.getCommentToFulfiller(), is(equalTo("boil in water")));
        assertThat(drugOrder.getOrderNumber(), is(equalTo("ORD-100")));
        assertThat(drugOrder.getConcept().getName(), is(equalTo("newConcept")));
        assertThat(drugOrder.getConcept().getUuid(), is(equalTo("newConceptUuid")));
    }