public void Setup()
        {
            handlerSettings = new Mock<IHandlerSettings>();
            chance = new Mock<IChance>();

            chaosSettings = new Mock<IChaosSettings>();
            chaosSettings.Setup(f => f.HttpResponses).Returns(new List<ResponseDetails>());
            chaosSettings.SetupGet(f => f.Name).Returns("Test");

            handlerSettings.Setup(f => f.Current).Returns(chaosSettings.Object);

            randomDelay = new Mock<IRandomDelay>();
            responseFactory = new Mock<IChaoticResponseFactory>();
            chaosTimer = new Mock<IChaosIntervalTimer>();

            chaosDelgatingHandler = new ChaoticDelegatingHandler(chance.Object, handlerSettings.Object, responseFactory.Object, randomDelay.Object, chaosTimer.Object)
                                        {
                                            InnerHandler =
                                                new DummyInnerHandler(
                                                (message, token) =>
                                                DummyInnerHandler.ReturnDummyOk())
                                        };

            httpClient = new HttpClient(chaosDelgatingHandler);
            requestMessage = new HttpRequestMessage(HttpMethod.Post, "http://www.test.com");
            requestMessage.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());            
        }
        public void Setup()
        {
            _handlerSettings = new Mock <IHandlerSettings>();
            _chance          = new Mock <IChance>();

            _chaosSettings = new Mock <IChaosSettings>();
            _chaosSettings.Setup(f => f.HttpResponses).Returns(new List <ResponseDetails>());
            _chaosSettings.Setup(f => f.ResponseFiddles).Returns(new List <ResponseFiddle>());
            _chaosSettings.SetupGet(f => f.Name).Returns("Test");

            _handlerSettings.Setup(f => f.Current).Returns(_chaosSettings.Object);

            _randomDelay     = new Mock <IRandomDelay>();
            _responseFactory = new Mock <IChaoticResponseFactory>();
            _responseFiddler = new Mock <IResponseFiddler>();
            _chaosTimer      = new Mock <IChaosIntervalTimer>();

            _chaosDelgatingHandler = new ChaoticDelegatingHandler(_chance.Object, _handlerSettings.Object,
                                                                  _responseFactory.Object, _randomDelay.Object, _chaosTimer.Object, _responseFiddler.Object)
            {
                InnerHandler =
                    new DummyInnerHandler(
                        (message, token) =>
                        DummyInnerHandler.ReturnDummyOk())
            };

            _httpClient     = new HttpClient(_chaosDelgatingHandler);
            _requestMessage = new HttpRequestMessage(HttpMethod.Post, "http://www.test.com");
            _requestMessage.Properties.Add(HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration());
        }