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)); }
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))); }