public void MatchingRuleHasTransientLifetime() { CustomAttributeMatchingRuleData customAttributeMatchingRule = new CustomAttributeMatchingRuleData("MatchesMyAttribure", "Namespace.MyAttribute, Assembly", true); TypeRegistration registration = customAttributeMatchingRule.GetRegistrations("").First(); Assert.AreEqual(TypeRegistrationLifetime.Transient, registration.Lifetime); }
/// <summary> /// Builds an instance of the subtype of <typeparamref name="TObject"/> type the receiver knows how to build, based on /// a configuration object. /// </summary> /// <param name="context">The <see cref="IBuilderContext"/> that represents the current building process.</param> /// <param name="objectConfiguration">The configuration object that describes the object to build.</param> /// <param name="configurationSource">The source for configuration objects.</param> /// <param name="reflectionCache">The cache to use retrieving reflection information.</param> /// <returns>A fully initialized instance of the <typeparamref name="TObject"/> subtype.</returns> public IMatchingRule Assemble(IBuilderContext context, MatchingRuleData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache) { CustomAttributeMatchingRuleData castedRuleData = (CustomAttributeMatchingRuleData)objectConfiguration; CustomAttributeMatchingRule matchingRule = new CustomAttributeMatchingRule(castedRuleData.AttributeType, castedRuleData.SearchInheritanceChain); return(matchingRule); }
public void CanSerializeTypeMatchingRule() { CustomAttributeMatchingRuleData customAttributeMatchingRule = new CustomAttributeMatchingRuleData("MatchesMyAttribure", "Namespace.MyAttribute, Assembly", true); CustomAttributeMatchingRuleData deserializedRule = SerializeAndDeserializeMatchingRule(customAttributeMatchingRule) as CustomAttributeMatchingRuleData; Assert.IsNotNull(deserializedRule); Assert.AreEqual(customAttributeMatchingRule.Name, deserializedRule.Name); Assert.AreEqual(customAttributeMatchingRule.TypeName, deserializedRule.TypeName); Assert.AreEqual(customAttributeMatchingRule.SearchInheritanceChain, deserializedRule.SearchInheritanceChain); }
public void MatchingRuleHasTransientLifetime() { CustomAttributeMatchingRuleData customAttributeMatchingRule = new CustomAttributeMatchingRuleData("MatchesMyAttribure", typeof(InjectionConstructorAttribute).AssemblyQualifiedName, true); using (var container = new UnityContainer()) { customAttributeMatchingRule.ConfigureContainer(container, "-test"); var registration = container.Registrations.Single(r => r.Name == "MatchesMyAttribure-test"); Assert.AreSame(typeof(IMatchingRule), registration.RegisteredType); Assert.AreSame(typeof(CustomAttributeMatchingRule), registration.MappedToType); Assert.AreSame(typeof(TransientLifetimeManager), registration.LifetimeManagerType); } }