Ejemplo n.º 1
0
        public object DecodeField(string value)
        {
            CustomField48 cf = null;

            if (value != null)
            {
                if (value.Length == 1 && value[0] == '|')
                {
                    cf = new CustomField48();
                }
                else
                {
                    var idx = value.LastIndexOf('|');
                    if (idx < 0 || idx == value.Length - 1)
                    {
                        throw new ArgumentException($"Invalid data '{value}' for field 48");
                    }
                    cf = new CustomField48
                    {
                        V1 = value.Substring(0,
                                             idx),
                        V2 = int.Parse(value.Substring(idx + 1))
                    };
                }
            }
            return(cf);
        }
Ejemplo n.º 2
0
        public void TestTemplating()
        {
            IsoMessage iso1 = mf.NewMessage(0x200);
            IsoMessage iso2 = mf.NewMessage(0x200);

            Assert.NotSame(iso1, iso2);
            Assert.Equal(iso1.GetObjectValue(3), iso2.GetObjectValue(3));
            Assert.NotSame(iso1.GetField(3), iso2.GetField(3));
            Assert.NotSame(iso1.GetField(48), iso2.GetField(48));
            CustomField48 cf48_1 = (CustomField48)iso1.GetObjectValue(48);
            int           origv  = cf48_1.V2;

            cf48_1.V2 = (origv + 1000);
            CustomField48 cf48_2 = (CustomField48)iso2.GetObjectValue(48);

            Assert.Same(cf48_1, cf48_2);
            Assert.Equal(cf48_2.V2, origv + 1000);
        }