public void SerializeTestSimpleObject()
        {
            var          value    = new DynamicJsonObject();
            var          target   = new DynamicJsonSerializer();
            const string expected = "{}";
            var          actual   = target.Serialize(value);

            Assert.AreEqual(expected, actual);
        }
 public void SerializeTestArray()
 {
     var value = new DynamicJsonObject();
     (value as dynamic).array = new object[] { "arrayValue1", 8 };
     var target = new DynamicJsonSerializer();
     const string expected = "{\"array\":[\"arrayValue1\",8]}";
     var actual = target.Serialize(value);
     Assert.AreEqual(expected, actual);
 }
        public void SerializeTestArray()
        {
            var value = new DynamicJsonObject();

            (value as dynamic).array = new object[] { "arrayValue1", 8 };
            var          target   = new DynamicJsonSerializer();
            const string expected = "{\"array\":[\"arrayValue1\",8]}";
            var          actual   = target.Serialize(value);

            Assert.AreEqual(expected, actual);
        }
 public void DeserializeTestArrayWithObjects()
 {
     var expected = new DynamicJsonObject();
     var inner = new DynamicJsonObject();
     (inner as dynamic).objVal = 90;
     (expected as dynamic).array = new object[] { "arrayValue1", inner };
     var target = new DynamicJsonSerializer();
     const string json = "{\"array\":[\"arrayValue1\",{\"objVal\":90}]}";
     var actual = target.Deserialize(json);
     Assert.AreEqual(expected, actual);
 }
        public void SerializeTestArrayWithObjects()
        {
            var value = new DynamicJsonObject();
            var inner = new DynamicJsonObject();

            (inner as dynamic).objVal = 90;
            (value as dynamic).array  = new object[] { "arrayValue1", inner };
            var          target   = new DynamicJsonSerializer();
            const string expected = "{\"array\":[\"arrayValue1\",{\"objVal\":90}]}";
            var          actual   = target.Serialize(value);

            Assert.AreEqual(expected, actual);
        }
        public void RoundDeserializeRallyUnavailableTest()
        {
            DynamicJsonSerializer target = new DynamicJsonSerializer();
            string json = "<!DOCTYPE HTML> Rally is unavailable</HTML>";

            try
            {
                target.Deserialize(json);
            }
            catch (RallyUnavailableException ex)
            {
                Assert.AreEqual(json, ex.ErrorMessage);
                return;
            }

            Assert.Fail("Failed to receive a RallyUnavailableException with the JSON data in it.");
        }
        public void RoundDeserializeBadJsonTest()
        {
            DynamicJsonSerializer target = new DynamicJsonSerializer();
            string json = "bad json";

            try
            {
                target.Deserialize(json);
            }
            catch (RallyFailedToDeserializeJson ex)
            {
                Assert.AreEqual(json, ex.JsonData);
                return;
            }

            Assert.Fail("Failed to receive a RallyFailedToDeserializeJson with the JSON data in it.");
        }
        public void SerializeTest()
        {
            var     target = new DynamicJsonSerializer();
            dynamic value  = new DynamicJsonObject();

            value.int1     = -19;
            value.decimal1 = 1.21M;
            value.string1  = "hi";
            dynamic obj1 = new DynamicJsonObject();

            obj1.int1     = 19;
            obj1.string1  = "hi";
            obj1.decimal1 = -1.21M;
            value.obj1    = obj1;
            const string expected = "{\"int1\":-19,\"decimal1\":1.21,\"string1\":\"hi\",\"obj1\":{\"int1\":19,\"string1\":\"hi\",\"decimal1\":-1.21}}";
            string       actual   = target.Serialize(value);

            Assert.AreEqual(expected, actual);
        }
        public void DeserializeTest()
        {

            dynamic expected = new DynamicJsonObject();
            expected.int1 = -19;
            expected.decimal1 = 1.21M;
            expected.string1 = "hi";
            dynamic obj1 = new DynamicJsonObject();
            obj1.int1 = 19;
            obj1.string1 = "hi";
            obj1.decimal1 = -1.21M;
            obj1.array1 = new int[0];
            obj1.array2 = new[] { "arrayValue1", "arrayValue1" };
            expected.obj1 = obj1;
            var target = new DynamicJsonSerializer();
            const string json = "{\"int1\":-19,\"decimal1\":1.21,\"string1\":\"hi\",\"obj1\":{\"int1\":19,\"string1\":\"hi\",\"decimal1\":-1.21,\"array1\":[],\"array2\":[\"arrayValue1\", \"arrayValue1\"]}}";
            var actual = target.Deserialize(json);
            Assert.AreEqual<DynamicJsonObject>(expected, actual);
        }
        public void DeserializeTest()
        {
            dynamic expected = new DynamicJsonObject();

            expected.int1     = -19;
            expected.decimal1 = 1.21M;
            expected.string1  = "hi";
            dynamic obj1 = new DynamicJsonObject();

            obj1.int1     = 19;
            obj1.string1  = "hi";
            obj1.decimal1 = -1.21M;
            obj1.array1   = new int[0];
            obj1.array2   = new[] { "arrayValue1", "arrayValue1" };
            expected.obj1 = obj1;
            var          target = new DynamicJsonSerializer();
            const string json   = "{\"int1\":-19,\"decimal1\":1.21,\"string1\":\"hi\",\"obj1\":{\"int1\":19,\"string1\":\"hi\",\"decimal1\":-1.21,\"array1\":[],\"array2\":[\"arrayValue1\", \"arrayValue1\"]}}";
            var          actual = target.Deserialize(json);

            Assert.AreEqual <DynamicJsonObject>(expected, actual);
        }
        public void RoundTripTest()
        {
            dynamic val1 = new DynamicJsonObject();

            val1.int1     = -19;
            val1.decimal1 = 1.21M;
            val1.string1  = "hi";
            dynamic obj1 = new DynamicJsonObject();

            obj1.int1     = 19;
            obj1.string1  = "hi";
            obj1.decimal1 = -1.21M;
            val1.obj1     = obj1;
            var     target = new DynamicJsonSerializer();
            string  json   = target.Serialize(val1);
            dynamic val2   = target.Deserialize(json);

            Assert.AreEqual(val2.int1, -19);
            Assert.AreEqual(val2.decimal1, 1.21M);
            Assert.AreEqual(val2.string1, "hi");
            Assert.AreEqual(val2.obj1.int1, obj1.int1);
            Assert.AreEqual(val2.obj1.string1, obj1.string1);
            Assert.AreEqual(val2.obj1.decimal1, obj1.decimal1);
        }
        public void DeserializeRallyOfflineTest()
        {
            var target = new DynamicJsonSerializer();

            target.Deserialize("<!DOCTYPE HTML - Rally is Offline");
        }
 public void SerializeTestSimpleObject()
 {
     var value = new DynamicJsonObject();
     var target = new DynamicJsonSerializer();
     const string expected = "{}";
     var actual = target.Serialize(value);
     Assert.AreEqual(expected, actual);
 }
        public void RoundTripTest()
        {
            dynamic val1 = new DynamicJsonObject();
            val1.int1 = -19;
            val1.decimal1 = 1.21M;
            val1.string1 = "hi";
            dynamic obj1 = new DynamicJsonObject();
            obj1.int1 = 19;
            obj1.string1 = "hi";
            obj1.decimal1 = -1.21M;
            val1.obj1 = obj1;
            var target = new DynamicJsonSerializer();
            string json = target.Serialize(val1);
            dynamic val2 = target.Deserialize(json);

            Assert.AreEqual(val2.int1, -19);
            Assert.AreEqual(val2.decimal1, 1.21M);
            Assert.AreEqual(val2.string1, "hi");
            Assert.AreEqual(val2.obj1.int1, obj1.int1);
            Assert.AreEqual(val2.obj1.string1, obj1.string1);
            Assert.AreEqual(val2.obj1.decimal1, obj1.decimal1);
        }
 public void SerializeTest()
 {
     var target = new DynamicJsonSerializer();
     dynamic value = new DynamicJsonObject();
     value.int1 = -19;
     value.decimal1 = 1.21M;
     value.string1 = "hi";
     dynamic obj1 = new DynamicJsonObject();
     obj1.int1 = 19;
     obj1.string1 = "hi";
     obj1.decimal1 = -1.21M;
     value.obj1 = obj1;
     const string expected = "{\"int1\":-19,\"decimal1\":1.21,\"string1\":\"hi\",\"obj1\":{\"int1\":19,\"string1\":\"hi\",\"decimal1\":-1.21}}";
     string actual = target.Serialize(value);
     Assert.AreEqual(expected, actual);
 }