public void Test_AddingBindings() { InjectorContext injector = new InjectorContext(); // Add first binding injector.AddBinding <SimpleClassA>(); // Validate binding Assert.Equal(1, injector.BindingCount); Assert.True(injector.HasBindingForType(typeof(SimpleClassA))); // Check error Assert.Equal(0, injector.ErrorCount); // Add second binding injector.AddBinding <SimpleClassB>(); // Validate binding Assert.Equal(2, injector.BindingCount); Assert.True(injector.HasBindingForType(typeof(SimpleClassA))); Assert.True(injector.HasBindingForType(typeof(SimpleClassB))); // Check error Assert.Equal(0, injector.ErrorCount); }
public void Test_NamespaceRestriction() { InjectorContext injector = new InjectorContext(); // Add first injector.AddBinding <SimpleClassA>().ToType <SimpleClassA>().RestrictToNamespace("Com.Bit34Games.Injector.Test.Containers"); // Validate binding Assert.Equal(1, injector.BindingCount); Assert.True(injector.HasBindingForType(typeof(SimpleClassA))); // Check error Assert.Equal(0, injector.ErrorCount); // Inject var instanceA = new ClassThatUses_SimpleClassA(); injector.InjectInto(instanceA); // Check error Assert.Equal(0, injector.ErrorCount); // Inject var instanceB = new ClassThatUses_SimpleClassA_InAnotherNamespace(); injector.InjectInto(instanceB); // Check error Assert.Equal(1, injector.ErrorCount); Assert.Equal(InjectionErrorType.InjectionRestricted, injector.GetError(0).error); }