public void Debind_NullInstance()
        {
            Dojector.Debind <IChild1>();
            IChild1 child1 = Factory.Get <IChild1>();

            Assert.IsNull(child1, "Child1 was debound but is not null on retrieval");
        }
        public void TwoDependencies_NonNested()
        {
            IParent parent = Factory.Get <IParent>();
            IChild1 child1 = parent.Child1;
            IChild2 child2 = parent.Child2;

            Assert.IsNotNull(parent, "Parent is null");
            Assert.IsNotNull(child1, "Child 1 is null");
            Assert.IsNotNull(child2, "Child 2 is null");
        }
        public void Parent_MultipleConstructors()
        {
            Dojector.Bind <IParent>(typeof(ParentMultipleConstructors));

            IParent parent = Factory.Get <IParent>();
            IChild1 child1 = parent.Child1;
            IChild2 child2 = parent.Child2;

            Assert.IsNotNull(parent, "Parent is null");
            Assert.IsNotNull(child1, "Child 1 is null");
            Assert.IsNotNull(child2, "Child 2 is null");
        }
        public void NestedDependencies()
        {
            INestedParent topLevelParent = Factory.Get <INestedParent>();
            IParent       parent         = topLevelParent.ParentNested;
            IChild1       child1         = parent.Child1;
            IChild2       child2         = parent.Child2;

            Assert.IsNotNull(topLevelParent, "Top level parent is null");
            Assert.IsNotNull(parent, "Nested Parent is null");
            Assert.IsNotNull(child1, "Child 1 is null");
            Assert.IsNotNull(child2, "Child 2 is null");
        }
        public void Singleton_NoDependencies()
        {
            Dojector.Reset();
            Dojector.Bind <IChild1>(typeof(Child1), BindingConfig.Singleton);

            IChild1 instance1 = Factory.Get <IChild1>();
            IChild1 instance2 = Factory.Get <IChild1>();

            Assert.IsNotNull(instance1, "Instance 1 is null");
            Assert.IsNotNull(instance2, "Instance 2 is null");
            Assert.IsTrue(instance1.Name == instance2.Name, $"Instance names do not match. Instance1: {instance1.Name}, instance2: {instance2.Name}");

            instance1.Name = "Changed";
            Assert.IsTrue(instance1.Name == instance2.Name, $"Instance names do not match after change. Instance1: {instance1.Name}, instance2: {instance2.Name}");
        }
Ejemplo n.º 6
0
 public ParentMultipleConstructors(IChild1 child1, IChild2 child2)
 {
     Child1 = child1;
     Child2 = child2;
 }
Ejemplo n.º 7
0
 public Parent(IChild1 child1, IChild2 child2)
 {
     Child1 = child1;
     Child2 = child2;
 }