public void testInjectionEntries() throws Exception {
    JaninoMeta meta = populateJaninoMeta();
    List<StepInjectionMetaEntry> entries =
        meta.getStepMetaInjectionInterface().getStepInjectionMetadataEntries();
    assertEquals(1, entries.size());

    StepInjectionMetaEntry fieldsEntry =
        StepInjectionUtil.findEntry(entries, JaninoMetaInjection.Entry.EXPRESSION_FIELDS);
    assertNotNull(fieldsEntry);
    StepInjectionMetaEntry fieldEntry =
        StepInjectionUtil.findEntry(
            fieldsEntry.getDetails(), JaninoMetaInjection.Entry.EXPRESSION_FIELD);
    assertNotNull(fieldEntry);
    assertNotNull(
        StepInjectionUtil.findEntry(
            fieldEntry.getDetails(), JaninoMetaInjection.Entry.NEW_FIELDNAME));
    assertNotNull(
        StepInjectionUtil.findEntry(
            fieldEntry.getDetails(), JaninoMetaInjection.Entry.JAVA_EXPRESSION));
    assertNotNull(
        StepInjectionUtil.findEntry(fieldEntry.getDetails(), JaninoMetaInjection.Entry.VALUE_TYPE));
    assertNotNull(
        StepInjectionUtil.findEntry(fieldEntry.getDetails(), JaninoMetaInjection.Entry.LENGTH));
    assertNotNull(
        StepInjectionUtil.findEntry(fieldEntry.getDetails(), JaninoMetaInjection.Entry.PRECISION));
    assertNotNull(
        StepInjectionUtil.findEntry(
            fieldEntry.getDetails(), JaninoMetaInjection.Entry.REPLACE_VALUE));
  }
  public void testInjectionExtraction() throws Exception {

    // Test Strategy :
    //
    // Populate a new object, extract the metadata,
    // then inject into another set of metadata, compare the results.
    //
    JaninoMeta meta = populateJaninoMeta();

    List<StepInjectionMetaEntry> entries = meta.extractStepMetadataEntries();

    assertEquals(1, entries.size());

    JaninoMeta newMeta = new JaninoMeta();
    newMeta.getStepMetaInjectionInterface().injectStepMetadataEntries(entries);

    // Automatic compare
    //
    List<StepInjectionMetaEntry> cmpEntries = newMeta.extractStepMetadataEntries();
    StepInjectionUtil.compareEntryValues(entries, cmpEntries);
  }