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;
        }