public void MatchingRuleHasTransientLifetime() { MemberNameMatchingRuleData memberNameMatchingRule = new MemberNameMatchingRuleData("MatchThis"); TypeRegistration registration = memberNameMatchingRule.GetRegistrations("").First(); Assert.AreEqual(TypeRegistrationLifetime.Transient, registration.Lifetime); }
/// <summary> /// Initializes a new instance of the <see cref="MemberNameMatchingRuleNode"/> class for representing a <see cref="MemberNameMatchingRuleData"/> instance. /// </summary> /// <param name="ruleData">The <see cref="MemberNameMatchingRuleData"/> to represent.</param> public MemberNameMatchingRuleNode(MemberNameMatchingRuleData ruleData) : base(ruleData) { matches = new List <Match>(); foreach (MatchData match in ruleData.Matches) { matches.Add(new Match(match.Match, match.IgnoreCase)); } }
/// <summary> /// Returs the represented <see cref="MemberNameMatchingRuleData"/> instance. /// </summary> /// <returns>A newly created <see cref="MemberNameMatchingRuleData"/> instance.</returns> public override MatchingRuleData GetConfigurationData() { MemberNameMatchingRuleData ruleData = new MemberNameMatchingRuleData(Name); foreach (Match match in matches) { ruleData.Matches.Add(new MatchData(match.Value, match.IgnoreCase)); } return(ruleData); }
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); } }
public void CanCreateRuleDataFromMemberNameMatchingRuleNode() { MemberNameMatchingRuleNode ruleNode = new MemberNameMatchingRuleNode(); ruleNode.Name = "RuleName"; ruleNode.Matches.Add(new Match("NametoMatch1", false)); ruleNode.Matches.Add(new Match("NametoMatch2", true)); MemberNameMatchingRuleData ruleData = ruleNode.GetConfigurationData() as MemberNameMatchingRuleData; Assert.IsNotNull(ruleData); Assert.AreEqual(ruleNode.Name, ruleData.Name); Assert.AreEqual(ruleNode.Matches[0].IgnoreCase, ruleData.Matches[0].IgnoreCase); Assert.AreEqual(ruleNode.Matches[0].Value, ruleData.Matches[0].Match); Assert.AreEqual(ruleNode.Matches[1].IgnoreCase, ruleData.Matches[1].IgnoreCase); Assert.AreEqual(ruleNode.Matches[1].Value, ruleData.Matches[1].Match); }
public void CanCreateMemberNameMatchingRuleNodeFromData() { MemberNameMatchingRuleData ruleData = new MemberNameMatchingRuleData(); ruleData.Name = "name o' rule"; ruleData.Matches.Add(new MatchData("MemberName1", false)); ruleData.Matches.Add(new MatchData("MemberName2", true)); MemberNameMatchingRuleNode ruleNode = new MemberNameMatchingRuleNode(ruleData); Assert.AreEqual(ruleData.Name, ruleNode.Name); Assert.AreEqual(ruleData.Matches.Count, ruleNode.Matches.Count); Assert.AreEqual(ruleData.Matches[0].IgnoreCase, ruleNode.Matches[0].IgnoreCase); Assert.AreEqual(ruleData.Matches[0].Match, ruleNode.Matches[0].Value); Assert.AreEqual(ruleData.Matches[1].IgnoreCase, ruleNode.Matches[1].IgnoreCase); Assert.AreEqual(ruleData.Matches[1].Match, ruleNode.Matches[1].Value); }
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); } }