Exemplo n.º 1
0
        public void TestDependency1()
        {
            Injector    depInjector = new Injector();
            Dependency1 dep         = depInjector.CreateDependency1();

            dep.DoStuff();
        }
        public void InjectionArgsSource_creates_argument_list_with_values_returned_by_factory()
        {
            var dep1 = new Dependency1();
            var dep2 = new Dependency2();

            object Factory(Type t)
            {
                if (typeof(IDependency1) == t)
                {
                    return(dep1);
                }

                if (typeof(IDependency2) == t)
                {
                    return(dep2);
                }

                throw new Exception($"Requested unsupported dependency type {t.FullName}");
            }

            var source = new InjectionArgsSource <DependencyInjectingTestClass>(Factory);

            var contents = source.GetInjectionParameters();

            Assert.That(contents.Length, Is.EqualTo(2));
            Assert.That(contents[0], Is.InstanceOf <IDependency1>());
            Assert.That(contents[0], Is.InstanceOf <Dependency1>());
            Assert.That(contents[0], Is.SameAs(dep1));
            Assert.That(contents[1], Is.InstanceOf <IDependency2>());
            Assert.That(contents[1], Is.InstanceOf <Dependency2>());
            Assert.That(contents[1], Is.SameAs(dep2));
        }
Exemplo n.º 3
0
        public void UseDependency()
        {
            ConsoleLogService   logSvc   = new ConsoleLogService(LogType.Info);
            OutlookEmailService emailSvc = new OutlookEmailService();
            Dependency1         dep      = new Dependency1(logSvc, emailSvc);

            dep.DoStuff();
        }
Exemplo n.º 4
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = (Dependency1 != null ? Dependency1.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ (Dependency2 != null ? Dependency2.GetHashCode() : 0);
         hashCode = (hashCode * 397) ^ Reason.GetHashCode();
         return(hashCode);
     }
 }
Exemplo n.º 5
0
        public void When_Existing_Object_Is_Provided_Then_Class_Is_Created_Using_Existing_Object_As_Dependency()
        {
            var existingObject = new Dependency1();

            existingObject.CustomMessage1 = "Custom Message";

            var testClass = Get <ClassWithOneDependency>(existingObject);
            var result    = testClass.RunTest();

            Assert.AreEqual("I use 1 dependency: Custom Message", result);
        }
Exemplo n.º 6
0
        public void changing_implementation_of_parent_singleton_in_child_does_not_change_parent_implementation()
        {
            var instance = new Dependency1();
            var sut      = this.CreateSut();

            sut.Register <IDependency1>(instance);
            var childContainer = sut.CreateChildContainer();

            childContainer.Register <IDependency1>(new Dependency1());

            sut.Resolve <IDependency1>().ShouldBeSameAs(instance);
        }
        public void SutNotCreated_SetsDependencyInstance()
        {
            //arrange
            var dependencyInstance = new Dependency1(null);

            //act
            _testSuit.SetDependencyToInstance <IDependency1, Dependency1>(dependencyInstance);

            //assert
            _testSuit.GetDependency <IDependency1>().Should().Be(dependencyInstance);
            _testSuit.Sut.Dependency1.Should().Be(dependencyInstance);
        }
        public void Reset_CleansDependencyInstance()
        {
            //arrange
            var dependencyInstance = new Dependency1(null);

            _testSuit.SetDependencyToInstance <IDependency1, Dependency1>(dependencyInstance);

            //act
            _testSuit.Reset();

            //assert
            _testSuit.GetDependency <IDependency1>().Should().BeAssignableTo <IMocked>();
            _testSuit.Sut.Dependency1.Should().BeAssignableTo <IMocked>();
        }
Exemplo n.º 9
0
        public void When_Multiple_Existing_Objects_Are_Provided_Then_Class_Is_Created_Using_Existing_Objects_As_Dependencies()
        {
            var existingObject1 = new Dependency1();

            existingObject1.CustomMessage1 = "Custom Message1";

            var existingObject2 = new Dependency2();

            existingObject2.CustomMessage2 = "Custom Message2";

            var testClass = Get <ClassWithTwoDependencies>(existingObject1, existingObject2);
            var result    = testClass.RunTest();

            Assert.AreEqual("I use 2 dependencies: Custom Message1, Custom Message2", result);
        }
Exemplo n.º 10
0
        public void RegisterTypeWithoutPublicCtor()
        {
            var cb          = new ContainerBuilder();
            var dependency1 = new Dependency1();
            var dependency2 = new Dependency2();

            cb.Register(_ => dependency1);
            cb.Register(_ => dependency2);
            cb.RegisterType <ParentWithoutPublicCtor>();

            IComponentContext container = cb.Build();

            Assert.Throws <DependencyResolutionException>(
                () => container.Resolve <ParentWithoutPublicCtor>());
        }
Exemplo n.º 11
0
        public void RegisterTypeWithOnePublicCtor()
        {
            var cb          = new ContainerBuilder();
            var dependency1 = new Dependency1();
            var dependency2 = new Dependency2();

            cb.Register(_ => dependency1);
            cb.Register(_ => dependency2);
            cb.RegisterType <ParentWithOnePublicCtor>();

            IComponentContext container = cb.Build();
            var instance = container.Resolve <ParentWithOnePublicCtor>();

            Assert.Equal(dependency1, instance.D1);
            Assert.Equal(dependency2, instance.D2);
        }
Exemplo n.º 12
0
        public void RegisterTypeWithDependency()
        {
            var cb          = new ContainerBuilder();
            var dependency1 = new Dependency1();
            var dependency2 = new Dependency2();

            cb.Register(_ => dependency1);
            cb.Register(_ => dependency2);
            cb.RegisterType <Parent>();

            IComponentContext container = cb.Build();
            var parent = container.Resolve <Parent>();

            Assert.Equal(dependency1, parent.D1);
            Assert.Equal(dependency2, parent.D2);
        }
Exemplo n.º 13
0
 public ExampleClass(
     long startId,
     long endId,
     bool reverse,
     int loadIdsLimit,
     long maxBufferSize,
     CancellationTokenSource cancellationTokenSource,
     Dependency1 dependency1,
     Dependency2 dependency2)
 {
     StartId                 = startId;
     EndId                   = endId;
     Reverse                 = reverse;
     LoadIdsLimit            = loadIdsLimit;
     MaxBufferSize           = maxBufferSize;
     CancellationTokenSource = cancellationTokenSource;
     Dependency1             = dependency1;
     Dependency2             = dependency2;
 }
    public Run()
    {
        var dependency = new Dependency1();

        dependency.DoSomething();
    }
Exemplo n.º 15
0
 public Dependency3(Dependency1 dependency1, Dependency2 dependency2)
 {
     Dependency1 = dependency1;
     Dependency2 = dependency2;
 }
Exemplo n.º 16
0
 public ParentWithMultipleCtor(Dependency1 d1, Dependency2 d2)
 {
 }
Exemplo n.º 17
0
 ParentWithoutPublicCtor(Dependency1 d1)
 {
 }
Exemplo n.º 18
0
 public ParentWithOnePublicCtor(Dependency1 d1, Dependency2 d2)
 {
     D1 = d1;
     D2 = d2;
 }
Exemplo n.º 19
0
 public SomeTask(IFakeDbContext fakeDbContext, Dependency1 dependency1, Dependency2 dependency2)
 {
     FakeDbContext = fakeDbContext;
     Dependency1   = dependency1;
     Dependency2   = dependency2;
 }
Exemplo n.º 20
0
 public SingleInstance(Dependency1 d1)
 {
 }
Exemplo n.º 21
0
 public string GetSomeString()
 {
     Dependency1.Execute();
     Dependency2.GetAge();
     return(SomeRepository.GetSomeString());
 }
 // "arg1, arg2"
 protected override IBaseService <CustomEntity> Create(Dependency1 d1, Dependency2 d2) =>
 new BaseService <CustomerEntity>(d1, d2);
 public Bar(Dependency1 d1, IDependency2 d2)
 {
 }
Exemplo n.º 24
0
 public Dependency2(Dependency1 dependency1)
 {
     Dependency1 = dependency1;
 }
Exemplo n.º 25
0
 public void Construct(Dependency1 dependency1)
 {
     _dependency1 = dependency1;
 }
Exemplo n.º 26
0
 public void Construct(Dependency1 dependency1, Dependency2 dependency2, Dependency3 dependency3)
 {
     _dependency1 = dependency1;
     _dependency2 = dependency2;
     _dependency3 = dependency3;
 }
Exemplo n.º 27
0
 public void DoSomething(Dependency1 d)
 {
     d.DoSomething();
 }
Exemplo n.º 28
0
 public Parent(Dependency1 d1, Dependency2 d2)
 {
     D1 = d1;
     D2 = d2;
 }
Exemplo n.º 29
0
 public ConcreteObjectWithOneConcreteConstructor(Dependency1 dependency1)
 {
     Dependency1 = dependency1;
 }
Exemplo n.º 30
0
 public TestConsumerLogicWithDependency(Dependency1 dependency)
 {
 }
 protected abstract IBaseServce <TEntity> Create(Dependency1 d1, Dependency2 d2);
 public ResolvedSingleton(Dependency1 dependency1, Dependency2 dependency2)
 {
 }