public void MatchingRuleHasTransientLifetime() { MemberNameMatchingRuleData memberNameMatchingRule = new MemberNameMatchingRuleData("MatchThis"); TypeRegistration registration = memberNameMatchingRule.GetRegistrations("").First(); Assert.AreEqual(TypeRegistrationLifetime.Transient, registration.Lifetime); }
public void MatchingRuleHasTransientLifetime() { MemberNameMatchingRuleData memberNameMatchingRule = new MemberNameMatchingRuleData("MatchThis"); using (var container = new UnityContainer()) { memberNameMatchingRule.ConfigureContainer(container, "-test"); var registration = container.Registrations.Single(r => r.Name == "MatchThis-test"); Assert.AreSame(typeof(IMatchingRule), registration.RegisteredType); Assert.AreSame(typeof(MemberNameMatchingRule), registration.MappedToType); Assert.AreSame(typeof(TransientLifetimeManager), registration.LifetimeManagerType); } }
/// <summary> /// Builds an instance of the subtype of the IMatching 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) { MemberNameMatchingRuleData castedRuleData = (MemberNameMatchingRuleData)objectConfiguration; List <MatchingInfo> namesToMatch = new List <MatchingInfo>(); foreach (MatchData matchData in castedRuleData.Matches) { namesToMatch.Add(new MatchingInfo(matchData.Match, matchData.IgnoreCase)); } MemberNameMatchingRule matchingRule = new MemberNameMatchingRule(namesToMatch); return(matchingRule); }
public void CanSerializeTypeMatchingRule() { MemberNameMatchingRuleData memberNameMatchingRule = new MemberNameMatchingRuleData("MatchThis", new MatchData[] { new MatchData("ToString"), new MatchData("GetHashCode", true), new MatchData("Get*", false) }); MemberNameMatchingRuleData deserializedRule = SerializeAndDeserializeMatchingRule(memberNameMatchingRule) as MemberNameMatchingRuleData; Assert.IsNotNull(deserializedRule); Assert.AreEqual(memberNameMatchingRule.Name, deserializedRule.Name); Assert.AreEqual(memberNameMatchingRule.Matches.Count, deserializedRule.Matches.Count); for (int i = 0; i < deserializedRule.Matches.Count; ++i) { AssertMatchDataEqual(memberNameMatchingRule.Matches[0], deserializedRule.Matches[0], "Match item {0} is incorrect", i); } }