/// <summary> /// The entry point for the application. /// </summary> /// <param name="args"> A list of command line arguments</param> static void Main(string[] args) { ICoxIntvApiService apiService = new CoxIntvApiService(new Uri(BaseUriString)); ISubmitAnswerService submitAnswerService = new SubmitAnswerService(apiService); Console.WriteLine("Submitting new Answer... "); Task <AnswerServiceResponse> answerTask = submitAnswerService.SubmitNewAnswer(); answerTask.Wait(); AnswerServiceResponse response = answerTask.Result; Console.WriteLine("\n---------- Response ----------"); Console.WriteLine("Success: " + response.Success); Console.WriteLine("Message: " + response.Message); Console.WriteLine("TotalMilliseconds: " + response.TotalMilliseconds + "(ms)"); Console.WriteLine("\n---------- Request ----------"); Console.WriteLine("AnswerServiceResponse " + response.JsonRequest); }
public void SubmitNewAnswer_ValidAnswer() { // Arrange ISubmitAnswerService answerService = new SubmitAnswerService(ApiService.Object); // Act Task <AnswerServiceResponse> answerTask = null; try { answerTask = answerService.SubmitNewAnswer(); answerTask.Wait(); } catch (Exception) { Assert.Fail(); } // Assert ApiService.Verify(x => x.CreateDataSet(), Times.Once()); ApiService.Verify(x => x.GetVehicles(It.IsAny <string>()), Times.Once()); ApiService.Verify(x => x.GetDealer(It.IsAny <string>(), It.IsAny <int>()), Times.Exactly(ExpectedAnswer.Dealers.Count)); int numVehcles = 0; foreach (DtoDealer d in ExpectedAnswer.Dealers) { numVehcles += d.Vehicles.Count; } ApiService.Verify(x => x.GetVehicle(It.IsAny <string>(), It.IsAny <int>()), Times.Exactly(numVehcles)); Assert.IsNotNull(answerTask); Assert.IsNotNull(answerTask.Result); Assert.IsNull(answerTask.Exception); AnswerServiceResponse actualResponse = answerTask.Result; Answer actualAnswer = JsonConvert.DeserializeObject <Answer>(actualResponse.JsonRequest); ValidateDealers(ExpectedAnswer.Dealers, actualAnswer.Dealers); Assert.AreEqual(ExpectedResponse.Message, actualResponse.Message); Assert.AreEqual(ExpectedResponse.Success, actualResponse.Success); Assert.AreEqual(ExpectedResponse.TotalMilliseconds, actualResponse.TotalMilliseconds); }
public void SubmitNewAnswer_CreateDataSet_Throws() { // Arrange IOException expectedException = new IOException("failed..."); ApiService.Setup(x => x.CreateDataSet()).Returns(Task.FromException <DataSet>(expectedException)); ISubmitAnswerService answerService = new SubmitAnswerService(ApiService.Object); // Act try { Task <AnswerServiceResponse> answerTask = answerService.SubmitNewAnswer(); answerTask.Wait(); Assert.Fail(); } catch (Exception e) { Assert.AreEqual(expectedException.Message, e.InnerException.Message); } }
public void SubmitNewAnswer_GetVehicle_Throws() { // Arrange IOException expectedException = new IOException("failed..."); ApiService.Setup(x => x.GetVehicle(It.IsAny <string>(), It.IsAny <int>())) .Returns(Task.FromException <Vehicle>(expectedException)); ISubmitAnswerService answerService = new SubmitAnswerService(ApiService.Object); // Act try { Task <AnswerServiceResponse> answerTask = answerService.SubmitNewAnswer(); answerTask.Wait(); Assert.Fail(); } catch (Exception e) { Assert.AreEqual(expectedException.Message, e.InnerException.Message); } }