Esempio n. 1
0
        public void Alteration()
        {
            var jtest = new JTest {
                Payload = new JTest()
            };

            var json = JsonConvert.SerializeObject(jtest);

            dynamic jdynamic = new JDynamic(json);

            Compare(jdynamic, jtest);

            jdynamic.String = jtest.String = jtest.String.ToLower();
            //jdynamic.Short = ++jtest.Short;
            //jdynamic.UShort = ++jtest.UShort;
            jdynamic.Int = ++jtest.Int;
            //jdynamic.UInt = ++jtest.UInt;
            //jdynamic.Long = ++jtest.Long;
            jdynamic.Decimal        = ++jtest.Decimal;
            jdynamic.Guid           = jtest.Guid = Guid.NewGuid();
            jdynamic.DateTime       = jtest.DateTime = DateTime.Now;
            jdynamic.DateTimeOffset = jtest.DateTimeOffset = DateTimeOffset.Now;

            jdynamic.Payload = jtest.Payload = new JTest(jtest);

            Compare(jdynamic, jtest);
        }
Esempio n. 2
0
        //[TestMethod]
        public void QueryMembers()
        {
            var jtest = new JTest {
                Payload = new JTest()
            };

            var json = JsonConvert.SerializeObject(jtest);

            dynamic jdynamic = new JDynamic(json);

            var jmembers = jtest.GetMembers();

            foreach (var info in jmembers)
            {
                var jvalue = info.GetValue(jtest);
                var dvalue = jdynamic[info.Name];

                switch (jvalue)
                {
                case JTest jt:
                {
                    Compare(jdynamic.Payload, jt);
                    break;
                }

                default:
                {
                    Assert.AreEqual(jvalue, dvalue);
                    break;
                }
                }
            }
        }
Esempio n. 3
0
 public JTest(JTest jtest)
 {
     String  = jtest.String;
     Decimal = /* Long = */ Int = jtest.Int;
     //UInt = jtest.UInt;
     Guid           = jtest.Guid;
     DateTime       = jtest.DateTime;
     DateTimeOffset = jtest.DateTimeOffset;
     Null           = null;
 }
Esempio n. 4
0
        public void Construction()
        {
            var jtest = new JTest {
                Payload = new JTest()
            };

            var json = JsonConvert.SerializeObject(jtest);

            dynamic jdynamic = new JDynamic(json);

            Compare(jdynamic, jtest);
        }
Esempio n. 5
0
        public void ListMembers()
        {
            var jtest = new JTest {
                Payload = new JTest()
            };

            var json = JsonConvert.SerializeObject(jtest);

            dynamic jdynamic = new JDynamic(json);

            var jmembers = jtest.GetMemberNames();
            var dmembers = jdynamic.GetDynamicMemberNames();

            Assert.IsTrue(Enumerable.SequenceEqual(jmembers, dmembers));
        }
Esempio n. 6
0
        private void Compare(dynamic jdynamic, JTest jtest)
        {
            Assert.AreEqual(jdynamic.String, jtest.String);
            Assert.AreEqual(jdynamic.Int, jtest.Int);
            Assert.AreEqual(jdynamic.Guid, jtest.Guid);
            Assert.AreEqual(jdynamic.Decimal, jtest.Decimal);
            Assert.AreEqual(jdynamic.DateTime, jtest.DateTime);
            Assert.AreEqual(jdynamic.DateTimeOffset, jtest.DateTimeOffset);
            Assert.IsNull(jdynamic.Null);

            if (null != jdynamic.Payload)
            {
                Compare(jdynamic.Payload, (JTest)jtest.Payload);
            }
            else
            {
                Assert.IsNull(jtest.Payload);
            }
        }