public void WhenValuesAreEmpty_AreEqual()
            {
                var first  = new HeaderName("");
                var second = new HeaderName("");

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

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

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