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); }
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()); }
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); }