Beispiel #1
0
        public void NonNullValue_WithCreateElementOnInspectionAttribute_DoesNothing()
        {
            var instance = new AllFine
            {
                ConcreteTypeA            = new TypeA(),
                ConcreteTypeB            = new TypeB(),
                InterfaceToConcreteTypeA = new TypeA()
            };

            var typeA            = instance.ConcreteTypeA;
            var typeB            = instance.ConcreteTypeB;
            var interfaceToTypeA = instance.InterfaceToConcreteTypeA;

            // Not null before
            Assert.That(instance.ConcreteTypeA, Is.Not.Null);
            Assert.That(instance.ConcreteTypeB, Is.Not.Null);
            Assert.That(instance.InterfaceToConcreteTypeA, Is.Not.Null);
            Element.SetTarget(instance);

            // Not null after
            Assert.That(instance.ConcreteTypeA, Is.Not.Null);
            Assert.That(instance.ConcreteTypeB, Is.Not.Null);
            Assert.That(instance.InterfaceToConcreteTypeA, Is.Not.Null);

            // Instance were not recreated
            Assert.That(instance.ConcreteTypeA, Is.EqualTo(typeA));
            Assert.That(instance.ConcreteTypeB, Is.EqualTo(typeB));
            Assert.That(instance.InterfaceToConcreteTypeA, Is.EqualTo(interfaceToTypeA));
        }
Beispiel #2
0
        public void NullValue_WithCreateElementOnInspectionAttribute_InstantiateValue()
        {
            var instance = new AllFine();

            // Null before
            Assert.That(instance.ConcreteTypeA, Is.Null);
            Assert.That(instance.ConcreteTypeB, Is.Null);
            Assert.That(instance.InterfaceToConcreteTypeA, Is.Null);

            Element.SetTarget(instance);

            // Not null after
            Assert.That(instance.ConcreteTypeA, Is.Not.Null);
            Assert.That(instance.ConcreteTypeB, Is.Not.Null);
            Assert.That(instance.InterfaceToConcreteTypeA, Is.Not.Null);

            // Instances have the expected types
            Assert.That(instance.ConcreteTypeA.GetType(), Is.EqualTo(typeof(TypeA)));
            Assert.That(instance.ConcreteTypeB.GetType(), Is.EqualTo(typeof(TypeB)));
            Assert.That(instance.InterfaceToConcreteTypeA.GetType(), Is.EqualTo(typeof(TypeA)));
        }