Esempio n. 1
0
        public static InjectionBuilder <T> MakeBuilder <T>(params MemberInfo[] members)
        {
            var builder = new InjectionBuilder <T>();

            builder.AddMembers(members);

            return(builder);
        }
 public void MapOutOfClass()
 {
     ((Action)(() =>
     {
         var builder = new InjectionBuilder <InjectMe>()
                       .Map(e => new OtherClass().Test)
                       .Build();
     })).Should().ThrowExactly <ArgumentException>();
 }
 public void MapMethod()
 {
     ((Action)(() =>
     {
         var builder = new InjectionBuilder <InjectMe>()
                       .Map <InjectMe, Func <int> >(e => e.PublicMethod)
                       .Build();
     })).Should().ThrowExactly <ArgumentException>();
 }
Esempio n. 4
0
        public void Run()
        {
            // make an injector that will automatically inject all `[Inject]`s
            var injector = new InjectionBuilder <InjectMe>()
                           .MapAttributed()      // there's more than just MapAttributed FWIW
                           .Build();

            var injectme = new InjectMe(injector, "stringData", 4);

            Console.WriteLine(injectme.StringData);             // will write "stringData"
            Console.WriteLine(injectme.GetSecretKey());         // will write 4
        }
        public void MapPublicProperty()
        {
            var builder = new InjectionBuilder <InjectMe>()
                          .Map(e => e.PublicProperty)
                          .Build();

            var item = new InjectMe();

            builder.Inject(item, "test");

            item.PublicProperty.Should().Be("test");
        }
        public void ShouldInject()
        {
            var injector = new InjectionBuilder <InjectMe>()
                           .MapAttributed()
                           .Build();

            var injectMe = new InjectMe();

            injector.Inject(injectMe, new OneImplementor(), new TwoImplementor(), new ThreeImplementor());

            injectMe.One.Should().NotBeNull();
            injectMe.Two.Should().NotBeNull();
            injectMe.Three.Should().NotBeNull();
        }