Ejemplo n.º 1
0
        void Can_Add_Data_Element()
        {
            //Arrange
            DataElementsDefinition dataElementsDefinition = new DataDefinitionDictionary();
            DataString             elementData            = new DataString("09114212233");
            DataDefinition         def = new VariableLengthDataDefinition(DataType.n_numeric, VariableLenthType.LLVAR, 20,
                                                                          new Dictionary <int, DataDefinition>()
            {
                { 1, new FixedLengthDataDefinition(DataType.n_numeric, 2) },
                { 2, new VariableLengthDataDefinition(DataType.n_numeric, VariableLenthType.LVAR, 4,
                                                      new Dictionary <int, DataDefinition> {
                        { 1, new FixedLengthDataDefinition(DataType.n_numeric, 2) },
                        { 2, new FixedLengthDataDefinition(DataType.n_numeric, 2) }
                    }
                                                      ) },
                { 3, new FixedLengthDataDefinition(DataType.n_numeric, 2) }
            });
            DataElement mfDE74  = new DataElement(74, def, elementData);
            DataElement mfDE7   = new DataElement(7, def, elementData);
            Message     message = new Message(new MessageTypeIdentifier("0800"), dataElementsDefinition);

            //Act
            message.AddOrReplaceDataElement(mfDE74);
            message.AddOrReplaceDataElement(mfDE7);
            List <int> des      = message.BitMaps.GetPresentDataElements();
            string     DE74Data = string.Empty;

            message.TryGetFieldData(out DE74Data, 74, 2, 1);

            //Assert
            Assert.Contains(74, des);
            Assert.Contains(7, des);
            Assert.Equal("21", DE74Data);
        }
Ejemplo n.º 2
0
        private void Can_Get_VariableLength_Subfield_Data()
        {
            //Arrange
            DataString     elementData = new DataString("08114212233");
            DataDefinition def         = new VariableLengthDataDefinition(DataType.n_numeric, VariableLenthType.LLVAR, 20,
                                                                          new Dictionary <int, DataDefinition>()
            {
                { 1, new FixedLengthDataDefinition(DataType.n_numeric, 2) },
                { 2, new VariableLengthDataDefinition(DataType.n_numeric, VariableLenthType.LVAR, 4,
                                                      new Dictionary <int, DataDefinition> {
                        { 1, new FixedLengthDataDefinition(DataType.n_numeric, 2) },
                        { 2, new FixedLengthDataDefinition(DataType.n_numeric, 2) }
                    }
                                                      ) },
                { 3, new FixedLengthDataDefinition(DataType.n_numeric, 2) }
            });


            //Act
            DataString sf1Data = def.GetSubFieldData(elementData, 1);
            DataString sf2Data = def.GetSubFieldData(elementData, 2);
            DataString sf3Data = def.GetSubFieldData(elementData, 3);



            //Assert
            Assert.Equal("11", sf1Data.ToString());
            Assert.Equal("42122", sf2Data.ToString());
            Assert.Equal("33", sf3Data.ToString());
        }
        private void Can_Create_Multifield_DE()
        {
            //Arrange
            DataString     elementData = new DataString("09114212233");
            DataDefinition def         = new VariableLengthDataDefinition(DataType.n_numeric, VariableLenthType.LLVAR, 20,
                                                                          new Dictionary <int, DataDefinition>()
            {
                { 1, new FixedLengthDataDefinition(DataType.n_numeric, 2) },
                { 2, new VariableLengthDataDefinition(DataType.n_numeric, VariableLenthType.LVAR, 4,
                                                      new Dictionary <int, DataDefinition> {
                        { 1, new FixedLengthDataDefinition(DataType.n_numeric, 2) },
                        { 2, new FixedLengthDataDefinition(DataType.n_numeric, 2) }
                    }
                                                      ) },
                { 3, new FixedLengthDataDefinition(DataType.n_numeric, 2) }
            });


            //Act
            DataElement mfDE = new DataElement(999, def, elementData);

            //Assert
            Assert.Equal("11", mfDE[1].GetFieldData());
            Assert.Equal("2122", mfDE[2].GetFieldData());
            Assert.Equal("42122", mfDE[2].ToString());
            Assert.Equal("21", mfDE[2][1].GetFieldData());
            Assert.Equal("33", mfDE[3].GetFieldData());
        }
Ejemplo n.º 4
0
        private void Can_Get_Variable_Length_Data()
        {
            //Arrange
            DataString     allDEISO         = new DataString("06A5DFGR021ABCDEFGHIJ1234567890");//DE #44, an ..25, LLVAR
            DataDefinition def              = new VariableLengthDataDefinition(DataType.an_alphaNumeric, VariableLenthType.LLVAR, 25);
            int            nextElementIndex = 0;

            //Act
            DataString dataElementData = def.GetAllData(allDEISO, ref nextElementIndex);

            //Assert
            Assert.Equal("06A5DFGR", dataElementData.ToString());
            Assert.Equal(8, nextElementIndex);
        }