public void Execute_RequestHasZeroDataItems_ReturnsEmptyResponse()
        {
            var percentageCalculator = Substitute.For <IPercentageRounder>();
            var requestHandler       = new RequestHandler(percentageCalculator);

            var request        = new RequestRoot();
            var expectedResult = new ResponseRoot();

            var response = requestHandler.Execute(request);

            response.Should().BeEquivalentTo(expectedResult);
        }
        public void Execute_RequestsRoundedToIntegers_ResponseIsCorrect(RequestRoot request, List <int> roundedPercentages, ResponseRoot expectedResult)
        {
            var percentageCalculator = Substitute.For <IPercentageRounder>();

            percentageCalculator.Execute(Arg.Any <ICollection <decimal> >()).Returns(roundedPercentages);
            var requestHandler = new RequestHandler(percentageCalculator);

            var result = requestHandler.Execute(request);

            result.Should().BeEquivalentTo(expectedResult);
        }