protected ThreadLocalProviderSwitcher(IThreadLocalProvider <TProvider> provider, TProvider localProvider)
        {
            Assert.ArgumentNotNull(provider, "provider");
            Assert.ArgumentNotNull(localProvider, "localProvider");

            this.provider = provider;

            Assert.IsNotNull(this.provider.LocalProvider, "provider.LocalProvider is not set.");
            this.provider.LocalProvider.Value = localProvider;
        }
 public SampleThreadLocalProviderSwithcer(IThreadLocalProvider <TProvider> rootProvider, TProvider localProvider)
     : base(rootProvider, localProvider)
 {
 }
 public ThreadLocalProviderSwitcherTest()
 {
     this.provider = Substitute.For <IThreadLocalProvider <ProviderBase>, ProviderBase>();
     this.behavior = Substitute.For <ProviderBase>();
 }