예제 #1
0
        public void ExceptionTest()
        {
            bool expectedExceptionRaised = false;

            try {
                ResourceReference.ParseJson(null);
            } catch (ArgumentNullException) {
                expectedExceptionRaised = true;
            }
            Assert.IsTrue(expectedExceptionRaised,
                          "ArgumentNullException expected on null input");

            expectedExceptionRaised = false;

            Deserializer deserializer   = new Deserializer();
            string       invalidRefJson =
                "{ \"api-ref\" : 5, \"href\" : \"http://domain/sally/notes\"}";

            deserializer.SetInput(invalidRefJson);
            JsonObject refObj = (JsonObject)deserializer.Deserialize();

            try {
                ResourceReference.ParseJson(refObj);
            } catch (InvalidCastException) {
                expectedExceptionRaised = true;
            }
            Assert.IsTrue(expectedExceptionRaised,
                          "InvalidCastException expected on invalid input");
        }
예제 #2
0
        public void ParseTest()
        {
            Deserializer deserializer = new Deserializer();

            string refJson =
                "{ \"api-ref\" : \"http://domain/api/1.0/sally/notes\", \"href\" : \"http://domain/sally/notes\"}";

            deserializer.SetInput(refJson);
            JsonObject        refObj      = (JsonObject)deserializer.Deserialize();
            ResourceReference resourceRef = ResourceReference.ParseJson(refObj);

            Assert.AreEqual("http://domain/api/1.0/sally/notes",
                            resourceRef.ApiRef,
                            "ApiRef");
            Assert.AreEqual("http://domain/sally/notes",
                            resourceRef.Href,
                            "Href");

            refJson =
                "{ \"api-ref\" : \"http://domain/api/1.0/sally/notes\"}";
            deserializer.SetInput(refJson);
            refObj      = (JsonObject)deserializer.Deserialize();
            resourceRef = ResourceReference.ParseJson(refObj);

            Assert.AreEqual("http://domain/api/1.0/sally/notes",
                            resourceRef.ApiRef,
                            "ApiRef");
            Assert.IsNull(resourceRef.Href, "Href should be null when none specified");

            refJson =
                "{ \"href\" : \"http://domain/sally/notes\"}";
            deserializer.SetInput(refJson);
            refObj      = (JsonObject)deserializer.Deserialize();
            resourceRef = ResourceReference.ParseJson(refObj);

            Assert.AreEqual("http://domain/sally/notes",
                            resourceRef.Href,
                            "Href");
            Assert.IsNull(resourceRef.ApiRef, "ApiRef should be null when none specified");
        }