public void Modify() { IConfiguredInstance instance = new ConfiguredInstance(typeof(ImportantService)); instance.SetLifecycleTo(new SingletonLifecycle()); instance.SetLifecycleTo<SingletonLifecycle>(); instance.Singleton(); }
public void can_set_scope_directly_on_the_instance() { var i1 = new ConfiguredInstance(GetType()).Named("foo"); i1.SetLifecycleTo(Lifecycles.ThreadLocal); i1.Lifecycle.ShouldBeOfType<ThreadLocalStorageLifecycle>(); }
public void does_override_the_scope_of_the_parent() { var family = new PluginFamily(GetType()); family.SetLifecycleTo(Lifecycles.Singleton); var i1 = new ConfiguredInstance(GetType()).Named("foo"); i1.SetLifecycleTo(Lifecycles.ThreadLocal); family.AddInstance(i1); i1.Lifecycle.ShouldBeOfType<ThreadLocalStorageLifecycle>(); }
public void get_instance_if_the_object_is_unique_and_does_not_exist() { var instance = new ConfiguredInstance(typeof (Foo)); instance.SetLifecycleTo(Lifecycles.Unique); var foo = new Foo(); var foo2 = new Foo(); theResolver.Stub(x => x.BuildUnique(typeof (IFoo), instance)).Return(foo).Repeat.Once(); theResolver.Stub(x => x.BuildUnique(typeof (IFoo), instance)).Return(foo2).Repeat.Once(); theCache.GetObject(typeof (IFoo), instance, new UniquePerRequestLifecycle()).ShouldBeTheSameAs(foo); theCache.GetObject(typeof (IFoo), instance, new UniquePerRequestLifecycle()).ShouldBeTheSameAs(foo2); }
public void set_to_default() { // SAMPLE: iconfiguredinstance-lifecycle IConfiguredInstance instance = new ConfiguredInstance(typeof(WidgetHolder)); // Use the SingletonThing lifecycle instance.Singleton(); // or supply an ILifecycle type instance.SetLifecycleTo<HttpContextLifecycle>(); // or supply an ILifecycle object instance.SetLifecycleTo(new Lifecycles_Samples.MyCustomLifecycle()); // or override to the default "transient" lifecycle instance.DefaultLifecycle(); // ENDSAMPLE instance.Lifecycle .ShouldBeOfType<TransientLifecycle>(); }