public void UserBreadcrumbJsonTest() { // Text, // 1 - user breadcrumb ; {text:,level:} DateTime now = DateTime.UtcNow; // Yes, TimeUtils.ISO8601DateString for Endpoint and TimeUtils.GMTDateString for Breadcrumb is odd. Dictionary <string, Object> data1 = new Dictionary <string, Object>(); data1["text"] = "Critter Bowl is Empty!"; data1["level"] = (int)BreadcrumbTextType.Urgent; Breadcrumb breadcrumb1 = new Breadcrumb(TimeUtils.GMTDateString(now), BreadcrumbType.Text, data1); // Testing BreadcrumbConverter WriteJson string json1 = JsonConvert.SerializeObject(breadcrumb1); // We don't assume Dictionary key-value pairs appear in any particular order. Assert.IsTrue(json1.IndexOf("\"text\":\"Critter Bowl is Empty!\"") >= 0); Assert.IsTrue(json1.IndexOf("\"level\":1") >= 0); Assert.IsTrue(json1.IndexOf(",1,{") >= 0); Assert.IsTrue(json1.IndexOf("}]") >= 0); string json2 = JsonConvert.SerializeObject(breadcrumb1, Formatting.None, new BreadcrumbConverter()); Debug.WriteLine("json1 == " + json1); Debug.WriteLine("json2 == " + json2); Assert.AreEqual(json1, json2); // Testing BreadcrumbConverter ReadJson Breadcrumb breadcrumb2 = JsonConvert.DeserializeObject(json1, typeof(Breadcrumb)) as Breadcrumb; Assert.IsNotNull(breadcrumb2); string json3 = JsonConvert.SerializeObject(breadcrumb2); Debug.WriteLine("json3 == " + json3); Assert.AreEqual(json1, json3); }
public void NetworkBreadcrumbJsonTest() { // Network, // 2 - network breadcrumb ; [verb,url,...,statusCode,errorCode] DateTime now = DateTime.UtcNow; // Yes, TimeUtils.ISO8601DateString for Endpoint and TimeUtils.GMTDateString for Breadcrumb is odd. Endpoint endpoint1 = new Endpoint( "POST", "http://www.mrscritter.com", TimeUtils.ISO8601DateString(now), 433, 3213, 2478, HttpStatusCode.OK, WebExceptionStatus.Success); Breadcrumb breadcrumb1 = new Breadcrumb(TimeUtils.GMTDateString(now), BreadcrumbType.Network, endpoint1); // Testing BreadcrumbConverter WriteJson string json1 = JsonConvert.SerializeObject(breadcrumb1); // NOTE: VS editor syntax colors embedded URL, but the C# syntax is correct. Assert.IsTrue(json1.IndexOf(",2,[\"POST\",\"http://www.mrscritter.com") >= 0); Assert.IsTrue(json1.IndexOf(",433,2,3213,2478,200,5,0]]") >= 0); string json2 = JsonConvert.SerializeObject(breadcrumb1, Formatting.None, new BreadcrumbConverter()); Debug.WriteLine("json1 == " + json1); Debug.WriteLine("json2 == " + json2); Assert.AreEqual(json1, json2); // Testing BreadcrumbConverter ReadJson Breadcrumb breadcrumb2 = JsonConvert.DeserializeObject(json1, typeof(Breadcrumb)) as Breadcrumb; Assert.IsNotNull(breadcrumb2); string json3 = JsonConvert.SerializeObject(breadcrumb2); Debug.WriteLine("json3 == " + json3); Assert.AreEqual(json1, json3); }