public void Properties() { Message message = new Message(); Assert.IsNull(message.Header); StringMessageHeader header = new StringMessageHeader("HEADER"); message.Header = header; Assert.IsNotNull(message.Header); Assert.IsTrue(message.Header == header); Assert.IsTrue((( StringMessageHeader) (message.Header)).Value.Equals("HEADER")); Assert.IsNotNull(message.Fields); Assert.IsNull(message.Formatter); BasicMessageFormatter formatter = new BasicMessageFormatter(); message.Formatter = formatter; Assert.IsNotNull(message.Formatter); Assert.IsTrue(message.Formatter == formatter); Assert.IsNull(message[3]); message.Fields.Add(3, "000000"); Assert.IsNotNull(message[3]); }
public void NewMessage() { BasicMessageFormatter formatter = new BasicMessageFormatter(); object message = formatter.NewMessage(); Assert.IsTrue(message is Message); }
public void AssignFields() { BasicMessageFormatter formatter = new BasicMessageFormatter(); Message message = new Message(); // Add field Formatters. for (int i = 0; i < _fixedMessageFormatter.Length; i++) { if (_fixedMessageFormatter[i] != null) { formatter.FieldFormatters.Add(_fixedMessageFormatter[i]); } } // Replace field formatter for field number 6, to perform // a complete AssignFields test. formatter.FieldFormatters.Add(new BinaryFieldFormatter(6, new FixedLengthManager(20), BinaryEncoder.GetInstance())); // Perform test for invalid parameters. try { formatter.AssignFields(null, null); Assert.Fail(); } catch (ArgumentNullException e) { Assert.IsTrue(e.ParamName == "message"); } try { formatter.AssignFields(message, null); Assert.Fail(); } catch (ArgumentNullException e) { Assert.IsTrue(e.ParamName == "fieldsContainer"); } // Perform a simple test. SimpleTransaction simpleTransaction = new SimpleTransaction(); simpleTransaction.Terminal = 106; simpleTransaction.CustomerName = "John Doe"; simpleTransaction.AdditionalData = "Some data"; formatter.AssignFields(message, simpleTransaction); Assert.IsFalse(simpleTransaction.InvalidPropertyHasBeenTaken); Assert.IsFalse(message.Fields.Contains(1)); Assert.IsFalse(message.Fields.Contains(2)); Assert.IsTrue(message.Fields.Contains(5)); Assert.IsTrue(simpleTransaction.Terminal.ToString().Equals( message[5].ToString())); Assert.IsTrue(message.Fields.Contains(6)); Assert.IsTrue(simpleTransaction.CustomerName.Equals( message[6].ToString())); Assert.IsTrue(message.Fields.Contains(30)); Assert.IsTrue(simpleTransaction.AdditionalData.Equals( message[30].ToString())); }
/// <summary> /// It copies the message formatter instance data into the provided message formatter. /// </summary> /// <param name="messageFormatter"> /// It's the message formatter where the message formatter instance data is copied. /// </param> /// <remarks> /// The header, the mti formatter and the fields formatters, aren't cloned, /// the new instance and the original shares those object instances. /// </remarks> public override void CopyTo(BasicMessageFormatter messageFormatter) { base.CopyTo(messageFormatter); if (messageFormatter is Iso8583MessageFormatter) { (( Iso8583MessageFormatter) (messageFormatter)).MessageHeaderFormatter = MessageHeaderFormatter; (( Iso8583MessageFormatter) (messageFormatter)).MessageTypeIdentifierFormatter = _mtiFormatter; } }
public void RetrieveFields() { BasicMessageFormatter formatter = new BasicMessageFormatter(); Message message = new Message(); // Add field Formatters. for (int i = 0; i < _fixedMessageFormatter.Length; i++) { if (_fixedMessageFormatter[i] != null) { formatter.FieldFormatters.Add(_fixedMessageFormatter[i]); } } // Replace field formatter for field number 6, to perform // a complete AssignFields test. formatter.FieldFormatters.Add(new BinaryFieldFormatter(6, new FixedLengthManager(20), BinaryEncoder.GetInstance())); // Perform test for invalid parameters. try { formatter.RetrieveFields(null, null); Assert.Fail(); } catch (ArgumentNullException e) { Assert.IsTrue(e.ParamName == "message"); } try { formatter.RetrieveFields(message, null); Assert.Fail(); } catch (ArgumentNullException e) { Assert.IsTrue(e.ParamName == "fieldsContainer"); } // Perform a simple test. message.Fields.Add(1, "01"); message.Fields.Add(2, "02"); message.Fields.Add(5, "1385"); message.Fields.Add(6, "John Doe"); message.Fields.Add(30, "Random data"); SimpleTransaction simpleTransaction = new SimpleTransaction(); formatter.RetrieveFields(message, simpleTransaction); Assert.IsFalse(simpleTransaction.InvalidPropertyHasBeenAssigned); Assert.IsNotNull(simpleTransaction.RetrieveBranch()); Assert.IsTrue(simpleTransaction.RetrieveBranch().Equals("01")); Assert.IsTrue(simpleTransaction.Terminal == 1385); Assert.IsTrue(simpleTransaction.AdditionalData.Equals("Random data")); }
private BasicMessageFormatter GetFormatter(FieldFormatter[] fieldFormatters) { BasicMessageFormatter formatter = new BasicMessageFormatter(); // Add field Formatters. for (int i = 0; i < fieldFormatters.Length; i++) { if (fieldFormatters[i] != null) { formatter.FieldFormatters.Add(fieldFormatters[i]); } } return(formatter); }
public void Clone() { string name = "Basic formatter"; string description = "My basic formatter"; StringMessageHeaderFormatter headerFormatter = new StringMessageHeaderFormatter(new FixedLengthManager(2), StringEncoder.GetInstance()); BasicMessageFormatter formatter = new BasicMessageFormatter(); // Set properties. formatter.Name = name; formatter.Description = description; formatter.MessageHeaderFormatter = ( IMessageHeaderFormatter)headerFormatter; // Add field Formatters. for (int i = 0; i < _fixedMessageFormatter.Length; i++) { formatter.FieldFormatters.Add(_fixedMessageFormatter[i]); } BasicMessageFormatter clonedFormatter = ( BasicMessageFormatter)formatter.Clone(); Assert.IsNotNull(clonedFormatter); // Check properties. Assert.IsTrue(clonedFormatter.Name.Equals(name)); Assert.IsTrue(clonedFormatter.Description.Equals(description)); Assert.IsNotNull(formatter.Logger == clonedFormatter.Logger); Assert.IsNotNull(clonedFormatter.FieldFormatters); Assert.IsNotNull(clonedFormatter.MessageHeaderFormatter); Assert.IsTrue(formatter.MessageHeaderFormatter == headerFormatter); foreach (FieldFormatter fieldFormatter in formatter.FieldFormatters) { Assert.IsTrue(clonedFormatter.FieldFormatters.Contains( fieldFormatter.FieldNumber)); Assert.IsTrue(clonedFormatter[fieldFormatter.FieldNumber] == fieldFormatter); } }
public void InstantiationAndProperties() { string name = "Basic formatter"; string description = "My basic formatter"; StringMessageHeaderFormatter headerFormatter = new StringMessageHeaderFormatter(new FixedLengthManager(2), StringEncoder.GetInstance()); BasicMessageFormatter formatter = new BasicMessageFormatter(); // Set properties. formatter.Name = name; formatter.Description = description; formatter.MessageHeaderFormatter = ( IMessageHeaderFormatter)headerFormatter; // Check properties. Assert.IsTrue(formatter.Name.Equals(name)); Assert.IsTrue(formatter.Description.Equals(description)); Assert.IsNotNull(formatter.Logger); Assert.IsNotNull(formatter.FieldFormatters); Assert.IsNotNull(formatter.MessageHeaderFormatter); Assert.IsTrue(formatter.MessageHeaderFormatter == headerFormatter); Assert.IsNull(formatter[1]); // Add field Formatters. for (int i = 0; i < _fixedMessageFormatter.Length; i++) { formatter.FieldFormatters.Add(_fixedMessageFormatter[i]); } // Check index property. for (int i = 0; i < _fixedMessageFormatter.Length; i++) { Assert.IsNotNull(formatter[i + 1]); Assert.IsTrue(formatter[i + 1] == _fixedMessageFormatter[i]); } }
public void GetBitMapFieldNumbers() { BasicMessageFormatter formatter = new BasicMessageFormatter(); Assert.IsNull(formatter.GetBitMapFieldNumbers()); // Add fixed field Formatters. for (int i = 0; i < _fixedMessageFormatter.Length; i++) { formatter.FieldFormatters.Add(_fixedMessageFormatter[i]); } Assert.IsNull(formatter.GetBitMapFieldNumbers()); formatter.FieldFormatters.Clear(); // Add mixed field Formatters. for (int i = 0; i < _fixedMessageFormatter.Length; i++) { formatter.FieldFormatters.Add(_mixedMessageFormatter[i]); } int[] fieldNumbers = formatter.GetBitMapFieldNumbers(); Assert.IsNotNull(fieldNumbers); Assert.IsTrue(fieldNumbers.Length == 1); Assert.IsTrue(fieldNumbers[0] == 4); formatter.FieldFormatters.Remove(4); Assert.IsNull(formatter.GetBitMapFieldNumbers()); formatter.FieldFormatters.Clear(); formatter.FieldFormatters.Add(new BitMapFieldFormatter( 1, 65, 128, HexadecimalBinaryEncoder.GetInstance())); formatter.FieldFormatters.Add(new BitMapFieldFormatter( 0, 1, 64, HexadecimalBinaryEncoder.GetInstance())); formatter.FieldFormatters.Add(new BitMapFieldFormatter( 65, 129, 192, HexadecimalBinaryEncoder.GetInstance())); fieldNumbers = formatter.GetBitMapFieldNumbers(); Assert.IsNotNull(fieldNumbers); Assert.IsTrue(fieldNumbers.Length == 3); Assert.IsTrue(fieldNumbers[0] == 0); Assert.IsTrue(fieldNumbers[1] == 1); Assert.IsTrue(fieldNumbers[2] == 65); formatter.FieldFormatters.Remove(65); fieldNumbers = formatter.GetBitMapFieldNumbers(); Assert.IsNotNull(fieldNumbers); Assert.IsTrue(fieldNumbers.Length == 2); Assert.IsTrue(fieldNumbers[0] == 0); Assert.IsTrue(fieldNumbers[1] == 1); formatter.FieldFormatters.Remove(0); fieldNumbers = formatter.GetBitMapFieldNumbers(); Assert.IsNotNull(fieldNumbers); Assert.IsTrue(fieldNumbers.Length == 1); Assert.IsTrue(fieldNumbers[0] == 1); formatter.FieldFormatters.Add(new BitMapFieldFormatter( 65, 129, 192, HexadecimalBinaryEncoder.GetInstance())); fieldNumbers = formatter.GetBitMapFieldNumbers(); Assert.IsNotNull(fieldNumbers); Assert.IsTrue(fieldNumbers.Length == 2); Assert.IsTrue(fieldNumbers[0] == 1); Assert.IsTrue(fieldNumbers[1] == 65); formatter.FieldFormatters.Add(new BitMapFieldFormatter( 0, 1, 64, HexadecimalBinaryEncoder.GetInstance())); fieldNumbers = formatter.GetBitMapFieldNumbers(); Assert.IsNotNull(fieldNumbers); Assert.IsTrue(fieldNumbers.Length == 3); Assert.IsTrue(fieldNumbers[0] == 0); Assert.IsTrue(fieldNumbers[1] == 1); Assert.IsTrue(fieldNumbers[2] == 65); }