public void AnalyzeSuccessfullyTest() { var fakeResponseHandler = new FakeResponseHandler(); var message = new HttpResponseMessage(HttpStatusCode.OK); message.Content = new StringContent(ANALYZE_ORDER_RESPONSE.ToString()); fakeResponseHandler.AddFakeResponse(konduto.KondutoPostOrderUrl(), message); konduto.__MessageHandler = fakeResponseHandler; KondutoOrder orderToSend = KondutoOrderFactory.basicOrder(); String s = orderToSend.ToJson(); KondutoOrder orderResponse = null; Assert.IsTrue(orderToSend.Recommendation == KondutoRecommendation.none, "basic order should have no recommendation"); Assert.IsTrue(orderToSend.Score == null, "basic order should have no score"); Assert.IsNull(orderToSend.Geolocation, "basic order should have no geolocation"); Assert.IsNull(orderToSend.Device, "basic order should have no device"); Assert.IsNull(orderToSend.NavigationInfo, "basic order should have no navigation info"); Assert.IsTrue(orderToSend.Analyze, "basic order should have analyze set to true"); try { orderResponse = konduto.Analyze(orderToSend); // do analyze } catch (KondutoInvalidEntityException e) { Assert.Fail("order should be valid"); } catch (KondutoUnexpectedAPIResponseException e) { Assert.Fail("server should respond with status 200"); } catch (KondutoHTTPException e) { Assert.Fail("server should respond with status 200"); } Double?actualScore = ORDER_FROM_FILE.Score; KondutoRecommendation?actualRecommendation = ORDER_FROM_FILE.Recommendation; KondutoGeolocation actualGeolocation = ORDER_FROM_FILE.Geolocation; KondutoDevice actualDevice = ORDER_FROM_FILE.Device; KondutoNavigationInfo actualNavigationInfo = ORDER_FROM_FILE.NavigationInfo; Assert.IsTrue(orderResponse.Geolocation.Equals(actualGeolocation)); Assert.AreEqual(orderResponse.Recommendation, actualRecommendation); Assert.AreEqual(orderResponse.Device, actualDevice); Assert.AreEqual(orderResponse.NavigationInfo, actualNavigationInfo); Assert.AreEqual(orderResponse.Score, actualScore); }
public void SerializationTest() { KondutoGeolocation geolocation = KondutoGeolocationFactory.Create(); String geolocationJSON = KondutoUtils.LoadJson <KondutoGeolocation>(Properties.Resources.geolocation).ToJson(); try { Assert.AreEqual(geolocationJSON, geolocation.ToJson(), "serialization failed"); } catch (KondutoInvalidEntityException e) { Assert.Fail("geolocation should be valid"); } KondutoGeolocation geolocationDeserialized = KondutoModel.FromJson <KondutoGeolocation>(geolocationJSON); Assert.AreEqual(geolocation, geolocationDeserialized, "deserialization failed"); }