Unit testing extension for equality testing I have created an extension for unit-testing my own equality implementations.
Is it a good approach in general to have such extensions for unit testing?
What unit-testing extensions do you use?

public static class EqualityExtensions
    {
        /// &lt;summary&gt;
        /// Checks that all variations Equals method conforms to equality by properties
        /// &lt;/summary&gt;
        /// &lt;typeparam name="T"&gt;&lt;/typeparam&gt;
        /// &lt;param name="variations"&gt;&lt;/param&gt;
        /// &lt;param name="propertyAccessors"&gt;Property accessors specifying which properties contribute to equality&lt;/param&gt;
        /// &lt;returns&gt;True, if all instances from a set conform to property equality&lt;/returns&gt;
        /// &lt;example&gt;
        /// Assert.IsTrue(from name in new[] {"foo","bar"} from count in new[] {1,2} select new MyClass{Name=name,Count=count}).ConformToPropertyEquality(x=&gt;x.Name,x=&gt;x.Count))
        /// &lt;/example&gt;
        public static bool ConformToPropertyEquality&lt;T&gt;(this IEnumerable&lt;T&gt; variations, params Func&lt;T, object&gt;[] propertyAccessors)
        {
            var propertyComparisions =
                from lhs in variations
                from rhs in variations
                select
                    Equals(
                        (from comparator in propertyAccessors select Equals(comparator(lhs), comparator(rhs))).All(c =&gt; c),
                        Equals(lhs, rhs)
                    );

            return propertyComparisions.All(p =&gt; p);
        }
    }
It's perfectly OK. As an example SharpTestEx is a whole library with such an extensions.