public void ShouldSubtract2Fractions() { FractionRequest request = new FractionRequest { Fraction1 = new FractionModel { Numerator = 2, Denominator = 3 }, Fraction2 = new FractionModel { Numerator = 4, Denominator = 5 } }; _service.Expect(service => service.Sub(Arg<Fraction>.Is.Anything, Arg<Fraction>.Is.Anything)) .Return(new Fraction(-2, 15)); var fractionResponse = _controller.Subtract(request) as OkNegotiatedContentResult<FractionResponse>; _service.VerifyAllExpectations(); Assert.IsNotNull(fractionResponse); Assert.AreEqual(-2, fractionResponse.Content.Fraction.Numerator); Assert.AreEqual(15, fractionResponse.Content.Fraction.Denominator); }
public FractionResponse Subtract(int numerator1, int denominator1, int numerator2, int denominator2) { FractionModel fraction1 = new FractionModel { Numerator = numerator1, Denominator = denominator1 }; FractionModel fraction2 = new FractionModel { Numerator = numerator2, Denominator = denominator2 }; FractionRequest fractionRequest = new FractionRequest { Fraction1 = fraction1, Fraction2 = fraction2 }; var request = new RestRequest("api/Fractions/Subtract", Method.POST) { RequestFormat = DataFormat.Json }; request.AddBody(fractionRequest); var response = _client.Execute<FractionResponse>(request); if (response.StatusCode != HttpStatusCode.OK) throw new Exception(response.ErrorMessage); return response.Data; }