public async Task PluginB_multi_Works() { // Arrange var payload = new CalculationRequestMultiModel { Calculations = new[] { new CalculationRequestModel { A = 50, B = 5 }, new CalculationRequestModel { A = 40, B = 5 } } }; //Act var result = await Post <CalculationResponseModel>(_client, "PluginB", "/service/multi", payload); // Assert (50 - 5) + (40 - 5) Assert.Equal(80, result.Result); }
public async Task PluginC_multi_Works() { // Arrange var payload = new CalculationRequestMultiModel { Calculations = new[] { new CalculationRequestModel { A = 50, B = 2 }, new CalculationRequestModel { A = 40, B = 2 } } }; //Act var result = await Post <CalculationResponseModel>(_client, "PluginC", "/service/multi", payload); // Assert (50 * 2 + 10% discount) + (40 * 2 + 10% discount) Assert.Equal(198, result.Result); }
public async Task PluginCFromNetwork_multi_Works() { Skip.IfNot(Environment.GetEnvironmentVariable("LOCAL") == "true"); // Arrange var payload = new CalculationRequestMultiModel { Calculations = new[] { new CalculationRequestModel { A = 50, B = 2 }, new CalculationRequestModel { A = 40, B = 2 } } }; //Act var result = await Post <CalculationResponseModel>(_client, "PluginCFromNetwork", "/network/multi", payload); // Assert (50 * 2 + 10% discount) + (40 * 2 + 10% discount) Assert.Equal(198, result.Result); }
public async Task PluginA_multi_Works() { // Arrange var payload = new CalculationRequestMultiModel { Calculations = new[] { new CalculationRequestModel { A = 100, B = 150 }, new CalculationRequestModel { A = 100, B = 150 } } }; //Act var result = await Post <CalculationResponseModel>(_client, "PluginA", "/service/multi", payload); // Assert 100 + 150 + 100 + 150 Assert.Equal(500, result.Result); }
protected async Task <CalculationResponseModel> CalculateMultipleAsync(CalculationRequestMultiModel requestModel) { // Ever more complex objects are serialized correctly var calculationContext = new ComplexCalculationContext { Calculations = requestModel.Calculations.Select(c => new CalculationContext { A = c.A, B = c.B }).ToArray() }; return(new CalculationResponseModel { Result = (await _plugin.CalculateMutipleAsync(calculationContext)).Results.Sum(r => r.Result) }); }
public Task <CalculationResponseModel> CalculateMultiple(CalculationRequestMultiModel requestModel) { // Ever more complex objects are serialized correctly var calculationContext = new ComplexCalculationContext { Calculations = requestModel.Calculations.Select(c => new CalculationContext { A = c.A, B = c.B }).ToArray() }; return(Task.FromResult(new CalculationResponseModel { Result = _plugin.CalculateMutiple(calculationContext).Results.Sum(r => r.Result) })); }
public async Task <CalculationResponseModel> CalculateMultiple(CalculationRequestMultiModel requestModel) { var plugin = await _loader.Load(); // Ever more complex objects are serialized correctly var calculationContext = new ComplexCalculationContext { Calculations = requestModel.Calculations.Select(c => new CalculationContext { A = c.A, B = c.B }).ToArray() }; return(new CalculationResponseModel { Result = plugin.CalculateMutiple(calculationContext).Results.Sum(r => r.Result) }); }
public Task <CalculationResponseModel> CalculateMultiple(CalculationRequestMultiModel requestModel) { return(_service.CalculateMultiple(requestModel)); }
public async Task <CalculationResponseModel> CalculateMultipleAsync(CalculationRequestMultiModel requestModel) { base.SetPlugin(await _loader.Load()); return(await base.CalculateMultipleAsync(requestModel)); }
public Task <CalculationResponseModel> CalculateMultipleAsync(CalculationRequestMultiModel requestModel) => base.CalculateMultipleAsync(requestModel);
public CalculationResponseModel CalculateMultiple(CalculationRequestMultiModel requestModel) => base.CalculateMultiple(requestModel);