public void Test_Resolve_Implementation_Handles_Non_Lazy_Bindings_Correctly() { IBinding <ISample> binding = new ConstructorBinding <ISample>(() => new Sample()); LazyConstructorBinding <IHasSample> lazyBinding = new LazyConstructorBinding <IHasSample>( new IBinding[0], bindings => new HasSample(binding.Resolve())); IHasSample sample = lazyBinding.Resolve(); Assert.IsType <HasSample>(sample); Assert.IsType <ConstructorBinding <IHasSample> >(lazyBinding.Constructor); }
public void Test_Resolve_Uses_Given_Constructor_Function() { Sample value = new Sample(); Func <Sample> constructorFunc = () => { return(value); }; ConstructorBinding <ISample> constructor = new ConstructorBinding <ISample>(constructorFunc); ISample obj = constructor.Resolve(); Assert.Same(value, obj); }