public void SimulationModeSwitchFetchers()
        {
            var config = new Primitive.BaseConfig("test", "test", "test");

            config.BaseUrl          = "http://www.test.com";
            config.RequestTimeoutMs = 1000;

            var handlerFactory = new Base.Http.HttpFactory();
            var handler        = handlerFactory.GetHttpHandler(config);

            Assert.IsType <Base.Http.Fetcher.HttpFetcher>(handler.Fetcher);

            handler.SimulationEnabled = true;

            Assert.IsType <Base.Http.Fetcher.LocalFetcher>(handler.Fetcher);
        }
        public void FetcherCreatedOnlyOnce()
        {
            var config = new Primitive.BaseConfig("test", "test", "test");

            config.BaseUrl          = "http://www.test.com";
            config.RequestTimeoutMs = 1000;

            var fetcherFactory = new Base.Http.Fetcher.FetcherFactory();
            var fetcher        = fetcherFactory.CreateFetcher(false, config);
            var sameFetcher    = fetcherFactory.CreateFetcher(false, config);

            Assert.Same(fetcher, sameFetcher);

            var fetcherFactory2 = new Base.Http.Fetcher.FetcherFactory();
            var fakeFetcher     = fetcherFactory2.CreateFetcher(true, config);
            var sameFakeFetcher = fetcherFactory2.CreateFetcher(true, config);

            Assert.Same(fakeFetcher, sameFakeFetcher);
        }