public void KeyInfo_EqualsTests(KeyInfoComparisonTheoryData theoryData)
        {
            var context = TestUtilities.WriteHeader($"{this}.{nameof(KeyInfo_EqualsTests)}", theoryData);

            try
            {
                Assert.Equal(theoryData.ShouldBeConsideredEqual, theoryData.FirstKeyInfo.Equals(theoryData.SecondKeyInfo));
            }
            catch (Exception ex)
            {
                theoryData.ExpectedException.ProcessException(ex, context);
            }

            TestUtilities.AssertFailIfErrors(context);
        }
        public void KeyInfo_HashCodeTests(KeyInfoComparisonTheoryData theoryData)
        {
            var context = TestUtilities.WriteHeader($"{this}.${nameof(KeyInfo_HashCodeTests)}", theoryData);

            try
            {
                var firstHashCode  = theoryData.FirstKeyInfo.GetHashCode();
                var secondHashCode = theoryData.SecondKeyInfo.GetHashCode();

                Assert.Equal(theoryData.HashShouldMatch, firstHashCode.Equals(secondHashCode));
            }
            catch (Exception ex)
            {
                theoryData.ExpectedException.ProcessException(ex, context);
            }

            TestUtilities.AssertFailIfErrors(context);
        }