public async void ExecuteCalculatorMultiplyRequest() { MultiplyRequest request = new MultiplyRequest() { intA = UnityEngine.Random.Range(-byte.MaxValue, byte.MaxValue), intB = UnityEngine.Random.Range(-byte.MaxValue, byte.MaxValue) }; MultiplyResponse response = await Multiply.Execute(_calculatorClient, request); if (response != null) { _results.text = string.Format("{0} * {1} = {2}", request.intA, request.intB, response.Value) + Environment.NewLine; } }
public void GoogleProtobufTest() { var serializer = new GoogleProtobufSerializer(); Assert.Empty(serializer.Serialize((MultiplyRequest?)null).ToArray()); var obj = new MultiplyRequest { X = 3, Y = 5 }; var target = serializer.Deserialize <MultiplyRequest>(serializer.Serialize(obj)) !; Assert.NotNull(target); Assert.Equal(obj.X, target.X); Assert.Equal(obj.Y, target.Y); }
public static void TestMultiply() { MultiplyRequest mult = new MultiplyRequest(); mult.Factors = new int[] { 8, 3, 2 }; var client = new RestClient(ENDPOINT); var request = new RestRequest("mult", Method.POST); string json = JsonConvert.SerializeObject(mult); request.AddJsonBody(json); var response = client.Execute(request); var proccessResponse = JsonConvert.DeserializeObject <MultiplyResponse>(response.Content); Console.WriteLine("\nResult: " + proccessResponse.Product); }
public void MultiplyReturnOk() { // Arrange MultiplyRequest testMultyplyRequest = new MultiplyRequest(); testMultyplyRequest.Factors = new int[] { 8, 3, 2 }; // Act var client = new RestClient("http://localhost:54405/api/calculator/"); var request = new RestRequest("mult", Method.POST); string json = JsonConvert.SerializeObject(testMultyplyRequest); request.AddJsonBody(json); var response = client.Execute(request); var proccessResponse = JsonConvert.DeserializeObject <MultiplyResponse>(response.Content); // Assert Assert.AreEqual(48, proccessResponse.Product); }
public static async Task TestOne() { sema.WaitOne(); var httpclient = new HttpClient(); var mulitply = new MultiplyRequest { X = 100, Y = 20 }; var str = JsonConvert.SerializeObject(mulitply); var content = new StringContent(str); content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); var response = await httpclient.PostAsync($"http://localhost:5000/Caculator", content); var result = await response.Content.ReadAsStringAsync(); var objResult = JsonConvert.DeserializeObject <MultiplyResult>(result); Console.WriteLine($" {mulitply.X} X {mulitply.Y} = { objResult.Result } "); sema.Release(); }
public Task <MultiplyResult> Multiply(MultiplyRequest request, ServerCallContext _) => ((ICalculator)this).MultiplyAsync(request).AsTask();
public async Task <MultiplyResult> Mutiply([FromBody] MultiplyRequest request) { return(await _caculator.MultiplyAsync(request)); }
public override Task <MultiplyReply> Multiply(MultiplyRequest request, ServerCallContext context) { return(Task.FromResult(new MultiplyReply { Result = request.First * request.Second })); }
ValueTask <MultiplyResult> ICalculator.MultiplyAsync(MultiplyRequest request) { Console.WriteLine($"{request.X}x{request.Y}"); return(new ValueTask <MultiplyResult>(new MultiplyResult(request.X * request.Y))); }
//async Task ConsumeAsync(IAsyncEnumerable<MultiplyRequest> bar, CallContext context) //{ // await foreach (var item in bar) // { // Console.WriteLine($"[rec] {item.X}, {item.Y} from {context.Server?.Peer}"); // } //} ValueTask ConsumeAsync(MultiplyRequest item, CallContext context) { Console.WriteLine($"[rec] {item.X}, {item.Y} from {context.ServerCallContext?.Peer}"); return(default);
public ValueTask <MultiplyResult> MultiplyAsync(MultiplyRequest request, CallContext context = default) => new ValueTask <MultiplyResult>(new MultiplyResult { Result = request.X * request.Y });
public CalculatorResponse Multiply(MultiplyRequest request) { return(new CalculatorResponse { Result = request.Left * request.Right }); }
public IHttpActionResult Multiply(MultiplyRequest request) { logger.Trace("Service called: multiply"); // An invalid request has been received // This may mean the HTTP requests and/or the HTTP body may contains some errors which should be fixed if (request.Factors == null) { logger.Error(HttpStatusCode.BadRequest); throw new HttpResponseException(HttpStatusCode.BadRequest); } try { MultiplyResponse result = new MultiplyResponse(); // Execute operation: Multiplication string dataJournal = ""; foreach (int number in request.Factors) { result.Product *= number; dataJournal += number + " * "; } dataJournal = dataJournal.Substring(0, dataJournal.Length - 3); dataJournal += " = " + result.Product; logger.Trace("Multiply success!!"); IEnumerable <string> headerValues; if (Request.Headers.TryGetValues("X-Evi-Tracking-Id", out headerValues)) { string id; id = headerValues.FirstOrDefault(); var operation = new Operation() { Name = "multiplication", Calculation = dataJournal, Date = DateTime.Now }; Journal.Store(id, operation); } return(Ok(result)); } catch (Exception ex) { logger.Error(ex); // An unexpected error condition was triggered which made impossible to fulfill the request throw new HttpResponseException(HttpStatusCode.InternalServerError); } }
ValueTask <MultiplyResult> ICalculator.MultiplyAsync(MultiplyRequest request, CallContext context) => new ValueTask <MultiplyResult>(new MultiplyResult { Result = request.X * request.Y });
public ValueTask <MultiplyResult> MultiplyAsync(MultiplyRequest request) => new ValueTask <MultiplyResult>(new MultiplyResult { Result = request.X * request.Y });
public MultiplyResponse Multiply(MultiplyRequest request) { using (var client = new WebClient()) { client.DownloadData(new Uri(this.url + "multiply?id=" + request.CalculatorId + "&value=" + request.Value)); } return new MultiplyResponse(); }
public async Task<MultiplyResponse> MultiplyAsync(MultiplyRequest request) { using (var client = new WebClient()) { await client.DownloadDataTaskAsync(new Uri(this.url + "multiply?id=" + request.CalculatorId + "&value=" + request.Value)); } return new MultiplyResponse(); }
public CalculatorResponse Multiply(MultiplyRequest request) { return new CalculatorResponse { Result = request.Left * request.Right }; }
public static void Multiply() { int number, howMany; try { MultiplyRequest mult = new MultiplyRequest(); string id = AskTrackingId(); Console.WriteLine("\nHow many numbers do you want to multiply?"); do { howMany = ReadInt("the amount of numbers to multiply"); if (howMany < 2) { Console.ForegroundColor = ConsoleColor.DarkYellow; Console.WriteLine("\nAt least two numbers are needed for the multiplication operation"); Console.ForegroundColor = ConsoleColor.Gray; Console.WriteLine("\nHow many numbers do you want to multiply?"); } } while (howMany < 2); mult.Factors = new int[howMany]; for (int i = 0; i < mult.Factors.Length; i++) { Console.WriteLine("\nEnter a number:"); number = ReadInt("number to multiply"); mult.Factors[i] = number; } var client = new RestClient(ENDPOINT); var request = new RestRequest("mult", Method.POST); string json = JsonConvert.SerializeObject(mult); request.AddJsonBody(json); // Add to headers 'X-Evi-Tracking-Id' if (id != "") { request.AddHeader("X-Evi-Tracking-Id", id); } var response = client.Execute(request); var proccessResponse = JsonConvert.DeserializeObject <MultiplyResponse>(response.Content); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\nResult: " + proccessResponse.Product); } catch (Exception ex) { Console.WriteLine(ex.Message); } }