private static void DuplicateMemberDependencyReferencesAreEqual([NotNull] IMemberTypeDependency dependency,
                                                                        [NotNull] IMemberTypeDependency dependencyReferenceDuplicate)
        {
            dependency.RequiredNotNull();
            dependencyReferenceDuplicate.RequiredNotNull();

            Assert.True(dependency.Equals(dependencyReferenceDuplicate));
        }
        private static void DuplicateMemberDependenciesAreEqual([NotNull] IMemberTypeDependency originMember,
                                                                [NotNull] object duplicateMember)
        {
            originMember.RequiredNotNull();
            duplicateMember.RequiredNotNull();

            Assert.Equal(originMember, duplicateMember);
        }
        private static void DuplicateMemberDependencyObjectReferencesAreEqual(
            [NotNull] IMemberTypeDependency memberDependency,
            object objectReferenceDuplicate)
        {
            memberDependency.RequiredNotNull();
            objectReferenceDuplicate.RequiredNotNull();

            Assert.Equal(memberDependency, objectReferenceDuplicate);
        }
        private static void MemberDependencyHasConsistentHashCode([NotNull] IMemberTypeDependency memberDependency,
                                                                  [NotNull] object duplicateMemberDependency)
        {
            memberDependency.RequiredNotNull();
            duplicateMemberDependency.RequiredNotNull();

            var hash          = memberDependency.GetHashCode();
            var duplicateHash = duplicateMemberDependency.GetHashCode();

            Assert.Equal(hash, duplicateHash);
        }
        private static void MemberDependencyDoesNotEqualNull([NotNull] IMemberTypeDependency memberDependency)
        {
            memberDependency.RequiredNotNull();

            Assert.False(memberDependency.Equals(null));
        }