public void GivenOtherObjectIsNotASharedSecretEncryptionKey_AreNotEqual()
            {
                var first  = new SharedSecretEncryptionKey("abc123");
                var second = new object();

                first.Equals(second).Should().BeFalse();
            }
            public void WhenValuesAreDifferentlyCased_AreNotEqual()
            {
                var first  = new SharedSecretEncryptionKey("abc123");
                var second = new SharedSecretEncryptionKey("aBc123");

                first.Equals(second).Should().BeFalse();
                (first == second).Should().BeFalse();
                (first != second).Should().BeTrue();
            }
            public void WhenValueIsEmpty_IsEqualToEmpty()
            {
                var first  = new SharedSecretEncryptionKey("");
                var second = SharedSecretEncryptionKey.Empty;

                first.Equals(second).Should().BeTrue();
                (first == second).Should().BeTrue();
                (first != second).Should().BeFalse();
                first.GetHashCode().Should().Be(second.GetHashCode());
            }
            public void WhenValuesAreEqual_AreEqual()
            {
                var first  = new SharedSecretEncryptionKey("abc123");
                var second = new SharedSecretEncryptionKey(first);

                first.Equals(second).Should().BeTrue();
                (first == second).Should().BeTrue();
                (first != second).Should().BeFalse();
                first.GetHashCode().Should().Be(second.GetHashCode());
            }