public void AppLoadTest2() { // Test the AppLoad json response equals MockNetork.DefaultAppLoadResponse . { // Invalidate current Crittercism.Settings . Crittercism.Settings = null; } // StartApp TestHelpers.StartApp(); // Wait sufficiently long for AppLoad response. TestHelpers.DequeueMessageType(typeof(AppLoad)); { // Check Crittercism.Settings agrees with ExampleResponse. Assert.IsNotNull(Crittercism.Settings); Assert.IsTrue(Crittercism.Settings is JObject); JObject settings = Crittercism.Settings; Assert.IsTrue(Crittercism.CheckSettings(settings)); } { // Check Crittercism.Settings Details. JObject config = Crittercism.Settings["txnConfig"] as JObject; if (config["enabled"] != null) { bool enabled = (bool)((JValue)(config["enabled"])).Value; Assert.IsTrue(enabled); int interval = Convert.ToInt32(((JValue)(config["interval"])).Value); Assert.IsTrue(interval == 10); int defaultTimeout = Convert.ToInt32(((JValue)(config["defaultTimeout"])).Value); Assert.IsTrue(defaultTimeout == 3600000); JObject thresholds = config["transactions"] as JObject; Assert.IsNotNull(thresholds); JObject threshold = thresholds["Buy Critter Feed"] as JObject; Assert.IsNotNull(threshold); int timeout = Convert.ToInt32(((JValue)(threshold["timeout"])).Value); Assert.IsTrue(timeout == 60000); int value = Convert.ToInt32(((JValue)(threshold["value"])).Value); Assert.IsTrue(value == 1299); } } }