Ejemplo n.º 1
0
        public void Clone()
        {
            Iso8583Message message = new Iso8583Message(1200);

            // Add fields.
            for (int i = 0; i < _fields.Length; i++)
            {
                message.Fields.Add(_fields[i]);
            }

            message.Header = new StringMessageHeader("HEADER");

            Iso8583Message cloned = ( Iso8583Message)message.Clone();

            Assert.IsTrue(cloned.Fields.Count == message.Fields.Count);
            Assert.IsNotNull(cloned.Header);
            Assert.IsTrue(cloned.MessageTypeIdentifier == message.MessageTypeIdentifier);

            Assert.IsTrue(message.Header != cloned.Header);
            for (int i = 0; i < _fields.Length; i++)
            {
                Assert.IsTrue(message[_fields[i].FieldNumber] !=
                              cloned[_fields[i].FieldNumber]);
            }
        }
Ejemplo n.º 2
0
        public static Iso8583Message checkProtectedClone(Iso8583Message m)
        {
            Iso8583Message pm = (Iso8583Message)m.Clone();

            pm.Formatter = m.Formatter;
            int[] protectFields = { 2, 14, 35, 45, 52, 48, 126 };
            for (int i = 0; i < protectFields.Length; i++)
            {
                int f = protectFields[i];
                if (pm.Fields.Contains(f))
                {
                    pm.Fields.Add(f, protect(((Field)m.Fields[f]).Value.ToString()));
                }
            }
            return(pm);
        }