package org.jpos.jposext.isomsgaction.factory.service.support;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import junit.framework.TestCase;
import org.apache.commons.digester.Digester;
import org.jpos.jposext.isomsgaction.model.DateFieldEnum;
import org.jpos.jposext.isomsgaction.model.PadDirectionEnum;
import org.jpos.jposext.isomsgaction.model.validation.DataType;
import org.jpos.jposext.isomsgaction.model.validation.PresenceModeEnum;
import org.jpos.jposext.isomsgaction.model.validation.ValidationRule;
import org.jpos.jposext.isomsgaction.service.IISOMsgAction;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionBinaryCopy;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionBshScript;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionCheckField;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionCopyFieldByRef;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionCreateCompositeField;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionDeclFieldFormat;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionIfCustomCondition;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionIfMatchesDelimConsts;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionIfMatchesRegExp;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionIfPresent;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionIfSetInContext;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionIfValidationErrors;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionLoop;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionMergeMsg;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionRemoveField;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionSetBinary;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionSetRandomNumber;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionSetResponseMTI;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionSetStrDate;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionSetStringValue;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionStrValCopy;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionStrValPadding;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionStrValRegExpReplace;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionUpdateExecutionContext;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionUserCustomized;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgActionValidate;
import org.jpos.jposext.isomsgaction.service.support.ISOMsgCompositeAction;
import org.xml.sax.SAXException;
import dummy.CustomizedISOAction;
/**
* Iso msg actions configuration digester factory test class
*
* @author dgrandemange
*
*/
public class ISOMsgActionsConfigDigesterFactoryImplTest extends TestCase {
private ISOMsgActionsConfigDigesterFactoryImpl digesterFactory = new ISOMsgActionsConfigDigesterFactoryImpl();
private Map<String, IISOMsgAction> mapActions;
@Override
protected void setUp() throws Exception {
super.setUp();
}
@SuppressWarnings("unchecked")
public void testDigestion() throws FileNotFoundException, IOException,
SAXException {
Digester digester = digesterFactory.createDigester();
mapActions = (Map<String, IISOMsgAction>) digester.parse(this
.getClass().getResourceAsStream(
"/dummy/config/actions-config.xml"));
assertTrue(mapActions.containsKey("ISO_ACTIONS_SET_1"));
ISOMsgCompositeAction cmpAction0100F = (ISOMsgCompositeAction) mapActions
.get("ISO_ACTIONS_SET_1");
ISOMsgActionSetStringValue action0100F_0 = (ISOMsgActionSetStringValue) cmpAction0100F
.get(0);
assertEquals("0", action0100F_0.getIdPath());
assertEquals(action0100F_0.getIdPath(), action0100F_0.getSrcIdPath());
assertEquals(0, action0100F_0.getMsgIndex());
assertEquals(1, action0100F_0
.getSrcMsgIndex());
assertEquals("106", action0100F_0.getValue());
assertNull(action0100F_0.getValueBeanPath());
assertFalse(action0100F_0.isBinary());
ISOMsgActionSetStringValue action0100F_1 = (ISOMsgActionSetStringValue) cmpAction0100F
.get(1);
assertEquals("1", action0100F_1.getIdPath());
assertEquals(action0100F_1.getIdPath(), action0100F_1.getSrcIdPath());
assertEquals(0, action0100F_1.getMsgIndex());
assertEquals(1, action0100F_1
.getSrcMsgIndex());
assertNull(action0100F_1.getValue());
assertEquals("ctx(onePropertyPath)", action0100F_1.getValueBeanPath());
ISOMsgActionIfMatchesDelimConsts action0100F_2 = (ISOMsgActionIfMatchesDelimConsts) cmpAction0100F
.get(2);
assertEquals("2", action0100F_2.getIdPath());
assertEquals(action0100F_2.getIdPath(), action0100F_2.getSrcIdPath());
assertEquals(0, action0100F_2.getMsgIndex());
assertEquals(1, action0100F_2
.getSrcMsgIndex());
assertEquals("tata tete titi toto", action0100F_2.getValuesToMatch());
assertTrue(action0100F_2.isCaseSensitive());
IISOMsgAction action0100F_2_subaction_1 = action0100F_2.get(0);
assertNotNull(action0100F_2_subaction_1);
assertTrue(action0100F_2_subaction_1 instanceof ISOMsgActionSetStringValue);
IISOMsgAction action0100F_2_elseaction = action0100F_2.getElseAction();
assertNotNull(action0100F_2_elseaction);
assertTrue(action0100F_2_elseaction instanceof ISOMsgCompositeAction);
IISOMsgAction action0100F_2_elseaction_subaction1 = ((ISOMsgCompositeAction) action0100F_2_elseaction)
.get(0);
assertNotNull(action0100F_2_elseaction_subaction1);
assertTrue(action0100F_2_elseaction_subaction1 instanceof ISOMsgActionRemoveField);
ISOMsgActionIfMatchesDelimConsts action0100F_3 = (ISOMsgActionIfMatchesDelimConsts) cmpAction0100F
.get(3);
assertEquals("3", action0100F_3.getIdPath());
assertEquals(action0100F_3.getIdPath(), action0100F_3.getSrcIdPath());
assertEquals(0, action0100F_3.getMsgIndex());
assertEquals(1, action0100F_3
.getSrcMsgIndex());
assertEquals("baba bebe bibi bobo", action0100F_3.getValuesToMatch());
assertFalse(action0100F_3.isCaseSensitive());
IISOMsgAction action0100F_3_subaction_1 = action0100F_3.get(0);
assertNotNull(action0100F_3_subaction_1);
assertTrue(action0100F_3_subaction_1 instanceof ISOMsgActionSetStringValue);
ISOMsgActionIfMatchesRegExp action0100F_4 = (ISOMsgActionIfMatchesRegExp) cmpAction0100F
.get(4);
assertEquals("4", action0100F_4.getIdPath());
assertEquals("^([tT][aeiouy]){2}$", action0100F_4.getRegexp());
IISOMsgAction action0100F_4_subaction_1 = action0100F_4.get(0);
assertNotNull(action0100F_4_subaction_1);
assertTrue(action0100F_4_subaction_1 instanceof ISOMsgActionSetStringValue);
ISOMsgActionIfPresent action0100F_5 = (ISOMsgActionIfPresent) cmpAction0100F
.get(5);
assertEquals("5", action0100F_5.getIdPath());
assertFalse(action0100F_5.isApplyNotOperator());
IISOMsgAction action0100F_5_subaction_1 = action0100F_5.get(0);
assertNotNull(action0100F_5_subaction_1);
assertTrue(action0100F_5_subaction_1 instanceof ISOMsgActionSetStringValue);
assertTrue(mapActions.containsKey("ISO_ACTIONS_SET_2"));
ISOMsgCompositeAction cmpAction0100D = (ISOMsgCompositeAction) mapActions
.get("ISO_ACTIONS_SET_2");
ISOMsgActionSetStrDate action0100F_6 = (ISOMsgActionSetStrDate) cmpAction0100D
.get(0);
assertEquals("6", action0100F_6.getIdPath());
assertEquals("MMyyyy", action0100F_6.getPattern());
ISOMsgActionSetRandomNumber action0100F_7 = (ISOMsgActionSetRandomNumber) cmpAction0100D
.get(1);
assertEquals("7", action0100F_7.getIdPath());
assertEquals(6, action0100F_7.getNbDigits());
ISOMsgActionStrValCopy action0100F_8 = (ISOMsgActionStrValCopy) cmpAction0100D
.get(2);
assertEquals("8", action0100F_8.getIdPath());
assertEquals("7", action0100F_8.getSrcIdPath());
assertEquals(0, action0100F_8.getMsgIndex());
assertEquals(1, action0100F_8
.getSrcMsgIndex());
ISOMsgActionRemoveField action0100F_10 = (ISOMsgActionRemoveField) cmpAction0100D
.get(3);
assertEquals("10", action0100F_10.getIdPath());
assertEquals(0, action0100F_10.getMsgIndex());
ISOMsgActionCopyFieldByRef action0100F_11 = (ISOMsgActionCopyFieldByRef) cmpAction0100D
.get(4);
assertEquals("11", action0100F_11.getIdPath());
assertEquals(0, action0100F_11.getMsgIndex());
assertEquals("2", action0100F_11.getSrcIdPath());
assertEquals(1, action0100F_11.getSrcMsgIndex());
ISOMsgActionStrValRegExpReplace action0100F_12 = (ISOMsgActionStrValRegExpReplace) cmpAction0100D
.get(5);
assertEquals("12", action0100F_12.getIdPath());
assertEquals("11", action0100F_12.getSrcIdPath());
assertEquals("(^.*$)", action0100F_12.getRegexpPattern());
assertEquals("$1", action0100F_12.getRegexpReplace());
ISOMsgActionCreateCompositeField action0100F_13 = (ISOMsgActionCreateCompositeField) cmpAction0100D
.get(6);
assertEquals("13.1", action0100F_13.getIdPath());
ISOMsgActionStrValCopy action0100F_14 = (ISOMsgActionStrValCopy) cmpAction0100D
.get(7);
assertEquals("14", action0100F_14.getIdPath());
assertEquals("7", action0100F_14.getSrcIdPath());
assertEquals(0, action0100F_14.getMsgIndex());
assertEquals(1, action0100F_14.getSrcMsgIndex());
ISOMsgActionBshScript action0100F_15 = (ISOMsgActionBshScript) cmpAction0100D
.get(8);
assertEquals(
"// Here, two messages in array\n\t\t\t\t// Our goal here is to update field 4 of first message in array (index 0) from\n\t\t\t\t// - either the vlaue of field 1 of second message in array (index 1),\n\t\t\t\t// - either the value of property 'defaultValue' in action execution context,\n\t\t\t\t// Decision is made on the value of field 2 in the target message. See ?\n\n\t\t\t\tentrypoint() {\n\t\t\t\t\torg.jpos.iso.ISOMsg destMsg = messages[0];\n\t\t\t\t\torg.jpos.iso.ISOMsg srcMsg = messages[1];\n\t\n\t\t\t\t\tString valChamp2MsgDest = destMsg.getString(2);\n\t\n\t\t\t\t\tif (\"babebibobu\".equals(valChamp2MsgDest)) {\n\t\t\t\t\t\tdestMsg.set(4, srcMsg.getString(1));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdestMsg.set(4, context.get(\"defaultValue\"));\n\t\t\t\t\t}\n\t\t\t\t}",
action0100F_15.getBshScript());
assertEquals("unIdUniqueDeSCriptBSH", action0100F_15.getScriptId());
assertEquals("commonScript1Id, commonScript2", action0100F_15.getIncludes());
ISOMsgActionIfPresent action0100F_16 = (ISOMsgActionIfPresent) cmpAction0100D
.get(9);
assertEquals("5", action0100F_16.getIdPath());
assertEquals(true, action0100F_16.isApplyNotOperator());
ISOMsgActionStrValCopy action0100F_17 = (ISOMsgActionStrValCopy) cmpAction0100D
.get(10);
assertNotNull(action0100F_17);
assertTrue(action0100F_17.isConcat());
ISOMsgActionStrValPadding action0100F_18 = (ISOMsgActionStrValPadding) cmpAction0100D
.get(11);
assertNotNull(action0100F_18);
assertEquals("0", action0100F_18.getPadChar());
assertEquals(10, action0100F_18.getExpLen());
assertEquals(PadDirectionEnum.LEFT, action0100F_18.getPadDir());
ISOMsgActionMergeMsg action0100F_19 = (ISOMsgActionMergeMsg) cmpAction0100D
.get(12);
assertNotNull(action0100F_19);
assertEquals(0, action0100F_19.getMsgIndex());
assertEquals(1, action0100F_19.getSrcMsgIndex());
assertNull(action0100F_19.getIdPath());
assertNull(action0100F_19.getSrcIdPath());
assertTrue(action0100F_19.isClone());
ISOMsgActionSetStrDate action0100F_20 = (ISOMsgActionSetStrDate) cmpAction0100D.get(13);
assertNotNull(action0100F_20);
assertEquals(1, action0100F_20.getAddValue());
assertEquals(DateFieldEnum.DAY, action0100F_20.getDateField());
ISOMsgActionSetStrDate action0100F_21 = (ISOMsgActionSetStrDate) cmpAction0100D.get(14);
assertNotNull(action0100F_21);
assertEquals(1, action0100F_21.getAddValue());
assertEquals(DateFieldEnum.MONTH, action0100F_21.getDateField());
ISOMsgActionSetStrDate action0100F_22 = (ISOMsgActionSetStrDate) cmpAction0100D.get(15);
assertNotNull(action0100F_22);
assertEquals(1, action0100F_22.getAddValue());
assertEquals(DateFieldEnum.YEAR, action0100F_22.getDateField());
ISOMsgActionSetStrDate action0100F_23 = (ISOMsgActionSetStrDate) cmpAction0100D.get(16);
assertNotNull(action0100F_23);
assertEquals(1, action0100F_23.getAddValue());
assertEquals(DateFieldEnum.HOUR, action0100F_23.getDateField());
ISOMsgActionSetStrDate action0100F_24 = (ISOMsgActionSetStrDate) cmpAction0100D.get(17);
assertNotNull(action0100F_24);
assertEquals(1, action0100F_24.getAddValue());
assertEquals(DateFieldEnum.MINUTE, action0100F_24.getDateField());
ISOMsgActionSetStrDate action0100F_25 = (ISOMsgActionSetStrDate) cmpAction0100D.get(18);
assertNotNull(action0100F_25);
assertEquals(10, action0100F_25.getAddValue());
assertEquals(DateFieldEnum.SECOND, action0100F_25.getDateField());
ISOMsgActionSetStringValue action0100F_26 = (ISOMsgActionSetStringValue) cmpAction0100D.get(19);
assertNotNull(action0100F_26);
assertEquals("C'EST SUPER LES FILTRES", action0100F_26.getValue());
assertEquals(12, action0100F_26.getFixedLength());
ISOMsgActionSetStringValue action0100F_27 = (ISOMsgActionSetStringValue) cmpAction0100D.get(20);
assertNotNull(action0100F_27);
assertEquals("ctx(onePropertyPath)", action0100F_27.getValueBeanPath());
assertEquals(18, action0100F_27.getFixedLength());
ISOMsgActionValidate cmpAction0100F_28 = (ISOMsgActionValidate) cmpAction0100D.get(21);
assertNotNull(cmpAction0100F_28);
Map<String, ValidationRule> mapValidationRulesByIdPath = cmpAction0100F_28.getMapValidationRulesByIdPath();
assertNotNull(mapValidationRulesByIdPath);
ISOMsgActionDeclFieldFormat action0100F_28_1 = (ISOMsgActionDeclFieldFormat) cmpAction0100F_28.get(0);
assertNotNull(action0100F_28_1);
assertEquals("15", action0100F_28_1.getIdPath());
ValidationRule regleValidation_0100F_28_1 = action0100F_28_1.getRegleValidation();
assertNotNull(regleValidation_0100F_28_1);
assertEquals("15", regleValidation_0100F_28_1.getName());
assertEquals(6, regleValidation_0100F_28_1.getMinLength());
assertEquals(15, regleValidation_0100F_28_1.getLength());
assertTrue(regleValidation_0100F_28_1.isVariableLength());
assertNull(regleValidation_0100F_28_1.getDatePattern());
assertNull(regleValidation_0100F_28_1.getPattern());
List<DataType> typeDonnee_0100F_28_1 = regleValidation_0100F_28_1.getDataType();
assertNotNull(typeDonnee_0100F_28_1);
assertTrue(typeDonnee_0100F_28_1.contains(DataType.ALPHA));
assertTrue(typeDonnee_0100F_28_1.contains(DataType.NUM));
assertTrue(typeDonnee_0100F_28_1.contains(DataType.SPECIAL));
assertTrue(typeDonnee_0100F_28_1.contains(DataType.SPACES));
assertFalse(typeDonnee_0100F_28_1.contains(DataType.DATE));
assertFalse(typeDonnee_0100F_28_1.contains(DataType.REGEXP));
assertEquals(regleValidation_0100F_28_1, mapValidationRulesByIdPath.get(action0100F_28_1.getIdPath()));
ISOMsgActionDeclFieldFormat action0100F_28_2 = (ISOMsgActionDeclFieldFormat) cmpAction0100F_28.get(1);
assertNotNull(action0100F_28_2);
assertEquals("16", action0100F_28_2.getIdPath());
ValidationRule regleValidation_0100F_28_2 = action0100F_28_2.getRegleValidation();
assertNotNull(regleValidation_0100F_28_2);
assertEquals("16", regleValidation_0100F_28_2.getName());
assertEquals(0, regleValidation_0100F_28_2.getMinLength());
assertEquals(10, regleValidation_0100F_28_2.getLength());
assertFalse(regleValidation_0100F_28_2.isVariableLength());
assertNull(regleValidation_0100F_28_2.getDatePattern());
assertNull(regleValidation_0100F_28_2.getPattern());
List<DataType> typeDonnee_0100F_28_2 = regleValidation_0100F_28_2.getDataType();
assertNotNull(typeDonnee_0100F_28_2);
assertTrue(typeDonnee_0100F_28_2.contains(DataType.ALPHA));
assertTrue(typeDonnee_0100F_28_2.contains(DataType.NUM));
assertFalse(typeDonnee_0100F_28_2.contains(DataType.SPECIAL));
assertFalse(typeDonnee_0100F_28_2.contains(DataType.SPACES));
assertFalse(typeDonnee_0100F_28_2.contains(DataType.DATE));
assertFalse(typeDonnee_0100F_28_2.contains(DataType.REGEXP));
assertEquals(regleValidation_0100F_28_2, mapValidationRulesByIdPath.get(action0100F_28_2.getIdPath()));
ISOMsgActionDeclFieldFormat action0100F_28_3 = (ISOMsgActionDeclFieldFormat) cmpAction0100F_28.get(2);
assertNotNull(action0100F_28_3);
assertEquals("17", action0100F_28_3.getIdPath());
ValidationRule regleValidation_0100F_28_3 = action0100F_28_3.getRegleValidation();
assertNotNull(regleValidation_0100F_28_3);
assertEquals("17", regleValidation_0100F_28_3.getName());
assertEquals("dd/MM/yyyy:HH:mm:ss", regleValidation_0100F_28_3.getDatePattern());
assertNull(regleValidation_0100F_28_3.getPattern());
List<DataType> typeDonnee_0100F_28_3 = regleValidation_0100F_28_3.getDataType();
assertNotNull(typeDonnee_0100F_28_3);
assertFalse(typeDonnee_0100F_28_3.contains(DataType.ALPHA));
assertFalse(typeDonnee_0100F_28_3.contains(DataType.NUM));
assertFalse(typeDonnee_0100F_28_3.contains(DataType.SPECIAL));
assertFalse(typeDonnee_0100F_28_3.contains(DataType.SPACES));
assertTrue(typeDonnee_0100F_28_3.contains(DataType.DATE));
assertFalse(typeDonnee_0100F_28_3.contains(DataType.REGEXP));
assertEquals(regleValidation_0100F_28_3, mapValidationRulesByIdPath.get(action0100F_28_3.getIdPath()));
ISOMsgActionDeclFieldFormat action0100F_28_4 = (ISOMsgActionDeclFieldFormat) cmpAction0100F_28.get(3);
assertNotNull(action0100F_28_4);
assertEquals("myFormatForField18", action0100F_28_4.getIdPath());
ValidationRule regleValidation_0100F_28_4 = action0100F_28_4.getRegleValidation();
assertNotNull(regleValidation_0100F_28_4);
assertEquals("myFormatForField18", regleValidation_0100F_28_4.getName());
assertNull(regleValidation_0100F_28_4.getDatePattern());
assertEquals("[0-9]{1,10}[.][0-9]{2}[A-Z]{3}", regleValidation_0100F_28_4.getPattern());
List<DataType> typeDonnee_0100F_28_4 = regleValidation_0100F_28_4.getDataType();
assertNotNull(typeDonnee_0100F_28_4);
assertFalse(typeDonnee_0100F_28_4.contains(DataType.ALPHA));
assertFalse(typeDonnee_0100F_28_4.contains(DataType.NUM));
assertFalse(typeDonnee_0100F_28_4.contains(DataType.SPECIAL));
assertFalse(typeDonnee_0100F_28_4.contains(DataType.SPACES));
assertFalse(typeDonnee_0100F_28_4.contains(DataType.DATE));
assertTrue(typeDonnee_0100F_28_4.contains(DataType.REGEXP));
assertEquals(regleValidation_0100F_28_4, mapValidationRulesByIdPath.get(action0100F_28_4.getIdPath()));
ISOMsgActionCheckField action0100F_28_5 = (ISOMsgActionCheckField) cmpAction0100F_28.get(4);
assertNotNull(action0100F_28_5);
assertEquals("15", action0100F_28_5.getIdPath());
assertEquals(PresenceModeEnum.MANDATORY, action0100F_28_5.getPresenceMode());
assertEquals(mapValidationRulesByIdPath, action0100F_28_5.getMapValidationRulesByIdPath());
assertEquals(false, action0100F_28_5.isCompareToMessageField());
ISOMsgActionCheckField action0100F_28_6 = (ISOMsgActionCheckField) cmpAction0100F_28.get(5);
assertNotNull(action0100F_28_6);
assertEquals("16", action0100F_28_6.getIdPath());
assertEquals(PresenceModeEnum.MANDATORY, action0100F_28_6.getPresenceMode());
assertEquals(mapValidationRulesByIdPath, action0100F_28_6.getMapValidationRulesByIdPath());
assertEquals(false, action0100F_28_6.isCompareToMessageField());
ISOMsgActionCheckField action0100F_28_7 = (ISOMsgActionCheckField) cmpAction0100F_28.get(6);
assertNotNull(action0100F_28_7);
assertEquals("17", action0100F_28_7.getIdPath());
assertEquals(PresenceModeEnum.OPTIONAL, action0100F_28_7.getPresenceMode());
assertEquals(mapValidationRulesByIdPath, action0100F_28_7.getMapValidationRulesByIdPath());
assertEquals(false, action0100F_28_7.isCompareToMessageField());
ISOMsgActionCheckField action0100F_28_8 = (ISOMsgActionCheckField) cmpAction0100F_28.get(7);
assertNotNull(action0100F_28_8);
assertEquals("18", action0100F_28_8.getIdPath());
assertEquals("myFormatForField18", action0100F_28_8.getFieldFormatRef());
assertEquals(PresenceModeEnum.UNEXPECTED, action0100F_28_8.getPresenceMode());
assertEquals(mapValidationRulesByIdPath, action0100F_28_8.getMapValidationRulesByIdPath());
assertEquals(false, action0100F_28_8.isCompareToMessageField());
ISOMsgActionCheckField action0100F_28_9 = (ISOMsgActionCheckField) cmpAction0100F_28.get(8);
assertNotNull(action0100F_28_9);
assertEquals("19", action0100F_28_9.getIdPath());
assertEquals(PresenceModeEnum.OPTIONAL, action0100F_28_9.getPresenceMode());
assertEquals(mapValidationRulesByIdPath, action0100F_28_9.getMapValidationRulesByIdPath());
assertEquals("69", action0100F_28_9.getCompareToIdPath());
assertEquals(2, action0100F_28_9.getCompareToMsgIndex());
assertEquals(true, action0100F_28_9.isCompareToMessageField());
ISOMsgActionCheckField action0100F_28_10 = (ISOMsgActionCheckField) cmpAction0100F_28.get(9);
assertNotNull(action0100F_28_10);
assertEquals("19", action0100F_28_10.getIdPath());
assertEquals(PresenceModeEnum.OPTIONAL, action0100F_28_10.getPresenceMode());
assertEquals(mapValidationRulesByIdPath, action0100F_28_10.getMapValidationRulesByIdPath());
assertEquals("19", action0100F_28_10.getCompareToIdPath());
assertEquals(2, action0100F_28_10.getCompareToMsgIndex());
assertEquals(true, action0100F_28_10.isCompareToMessageField());
ISOMsgCompositeAction cmpAction0100F_29 = (ISOMsgCompositeAction) cmpAction0100D.get(22);
assertNotNull(cmpAction0100F_29);
assertNotNull(cmpAction0100F_29.get(0));
assertTrue(cmpAction0100F_29.get(0) instanceof ISOMsgActionSetStringValue);
assertNotNull(cmpAction0100F_29.get(1));
assertTrue(cmpAction0100F_29.get(1) instanceof ISOMsgActionSetStrDate);
ISOMsgActionSetResponseMTI action0100F_30 = (ISOMsgActionSetResponseMTI) cmpAction0100D.get(23);
assertNotNull(action0100F_30);
assertEquals(3, action0100F_30.getMsgIndex());
assertEquals("9919", action0100F_30.getDefaultResponseMTI());
ISOMsgActionBinaryCopy action0100F_31 = (ISOMsgActionBinaryCopy) cmpAction0100D.get(24);
assertNotNull(action0100F_31);
assertEquals("8", action0100F_31.getIdPath());
assertEquals("7", action0100F_31.getSrcIdPath());
ISOMsgActionUpdateExecutionContext action0100F_32 = (ISOMsgActionUpdateExecutionContext) cmpAction0100D.get(25);
assertNotNull(action0100F_32);
assertEquals(1, action0100F_32.getSrcMsgIndex());
assertEquals("7", action0100F_32.getSrcIdPath());
assertEquals(20, action0100F_32.getFixedLength());
ISOMsgActionUserCustomized action0100F_33 = (ISOMsgActionUserCustomized) cmpAction0100D.get(26);
assertTrue(action0100F_33.getIsoAction() instanceof CustomizedISOAction);
CustomizedISOAction customizedAction = (CustomizedISOAction) action0100F_33.getIsoAction();
assertEquals(12345, customizedAction.getPropTypeInt());
assertEquals("a dummy string", customizedAction.getPropTypeString());
ISOMsgActionSetBinary action0100F_34 = (ISOMsgActionSetBinary) cmpAction0100D.get(27);
assertEquals("123", action0100F_34.getIdPath());
assertTrue(Arrays.equals(new byte[] {0x00, (byte) 0xFF, (byte) 0xA0}, action0100F_34.getBytes()));
ISOMsgActionSetStringValue action0100F_35 = (ISOMsgActionSetStringValue) cmpAction0100D.get(28);
assertTrue(action0100F_35.isBinary());
ISOMsgActionIfCustomCondition action0100F_36 = (ISOMsgActionIfCustomCondition) cmpAction0100D.get(29);
assertEquals("dummy.MyCustomizedCondition", action0100F_36.getCustomConditionClazzName());
assertTrue(action0100F_36.getCustomCondition() instanceof dummy.MyCustomizedCondition);
ISOMsgActionLoop action0100F_37 = (ISOMsgActionLoop) cmpAction0100D.get(30);
assertFalse(action0100F_37.isIntervalMode());
assertEquals("i", action0100F_37.getToken());
assertEquals("6", action0100F_37.getIdPath());
assertEquals(1, action0100F_37.getMsgIndex());
IISOMsgAction iisoMsgAction_37_1 = action0100F_37.get(0);
assertNotNull(iisoMsgAction_37_1);
assertTrue(iisoMsgAction_37_1 instanceof ISOMsgActionCreateCompositeField);
IISOMsgAction iisoMsgAction_37_2 = action0100F_37.get(1);
assertNotNull(iisoMsgAction_37_2);
assertTrue(iisoMsgAction_37_2 instanceof ISOMsgActionStrValCopy);
ISOMsgActionLoop action0100F_38 = (ISOMsgActionLoop) cmpAction0100D.get(31);
assertTrue(action0100F_38.isIntervalMode());
assertEquals("j", action0100F_38.getToken());
assertEquals(1, action0100F_38.getBegin());
assertEquals(4, action0100F_38.getEnd());
assertNotNull(action0100F_38.get(0));
ISOMsgActionIfValidationErrors action0100F_39 = (ISOMsgActionIfValidationErrors) cmpAction0100D.get(32);
IISOMsgAction action0100F_39_subaction_1 = action0100F_39.get(0);
assertNotNull(action0100F_39_subaction_1);
assertTrue(action0100F_39_subaction_1 instanceof ISOMsgActionSetStrDate);
ISOMsgActionIfSetInContext action0100F_40 = (ISOMsgActionIfSetInContext) cmpAction0100D.get(33);
assertEquals("incomingRequestBean", action0100F_40.getKey());
IISOMsgAction action0100F_40_subaction_1 = action0100F_40.get(0);
assertNotNull(action0100F_40_subaction_1);
assertTrue(action0100F_40_subaction_1 instanceof ISOMsgActionSetStrDate);
ISOMsgActionMergeMsg action0100F_41 = (ISOMsgActionMergeMsg) cmpAction0100D
.get(34);
assertNotNull(action0100F_41);
assertEquals(0, action0100F_41.getMsgIndex());
assertEquals(1, action0100F_41.getSrcMsgIndex());
assertNull(action0100F_41.getIdPath());
assertNull(action0100F_41.getSrcIdPath());
assertFalse(action0100F_41.isClone());
}
}