public void ShouldReturnAllPoliciesInOrderThatApplyToTarget() { PolicySet policies = new PolicySet(); Policy p1 = new Policy("DALPolicy"); p1.RuleSet.Add(new TypeMatchingAssignmentRule(typeof(MockDal))); Policy p2 = new Policy("LoggingPolicy"); p2.RuleSet.Add(new TypeMatchingAssignmentRule(typeof(string))); Policy p3 = new Policy("ExceptionPolicy"); p3.RuleSet.Add(new TypeMatchingAssignmentRule(typeof(MockDal))); policies.Add(p1); policies.Add(p2); policies.Add(p3); PolicySet matchingPolicies = policies.GetPoliciesFor(typeof(MockDal)); Assert.AreEqual(2, matchingPolicies.Count); Assert.AreSame(p1, matchingPolicies[0]); Assert.AreSame(p3, matchingPolicies[1]); }