public void MatchingRuleHasTransientLifetime() { TypeMatchingRuleData ruleData = new TypeMatchingRuleData("RuleName", "System.Int32"); TypeRegistration registration = ruleData.GetRegistrations("").First(); Assert.AreEqual(TypeRegistrationLifetime.Transient, registration.Lifetime); }
/// <summary> /// Builds an instance of the subtype of IMatchingRule 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 IMatchingRule subtype.</returns> public IMatchingRule Assemble(IBuilderContext context, MatchingRuleData objectConfiguration, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache) { TypeMatchingRuleData castedRuleData = (TypeMatchingRuleData)objectConfiguration; List <MatchingInfo> matches = new List <MatchingInfo>(); foreach (MatchData match in castedRuleData.Matches) { matches.Add(new MatchingInfo(match.Match, match.IgnoreCase)); } TypeMatchingRule matchingRule = new TypeMatchingRule(matches); return(matchingRule); }
public void MatchingRuleHasTransientLifetime() { TypeMatchingRuleData ruleData = new TypeMatchingRuleData("RuleName", "System.Int32"); using (var container = new UnityContainer()) { ruleData.ConfigureContainer(container, "-test"); var registration = container.Registrations.Single(r => r.Name == "RuleName-test"); Assert.AreSame(typeof(IMatchingRule), registration.RegisteredType); Assert.AreSame(typeof(TypeMatchingRule), registration.MappedToType); Assert.AreSame(typeof(TransientLifetimeManager), registration.LifetimeManagerType); } }
public void CanSerializeTypeMatchingRule() { TypeMatchingRuleData typeMatchingRule = new TypeMatchingRuleData("RuleName", new MatchData[] { new MatchData("System.String"), new MatchData("mydataobject", true), new MatchData("Foo") }); TypeMatchingRuleData deserializedRule = SerializeAndDeserializeMatchingRule(typeMatchingRule) as TypeMatchingRuleData; Assert.IsNotNull(deserializedRule); Assert.AreEqual(typeMatchingRule.Name, deserializedRule.Name); Assert.AreEqual(typeMatchingRule.Matches.Count, deserializedRule.Matches.Count); for (int i = 0; i < typeMatchingRule.Matches.Count; ++i) { AssertMatchDataEqual(typeMatchingRule.Matches[i], deserializedRule.Matches[i], "The match at index {0} is incorrect", i); } }