public void Equals_works_with_nulls_in_first_object()
            {
                CaseInsensitiveAddress address  = new CaseInsensitiveAddress(null, "San Francisco", "CA");
                CaseInsensitiveAddress address2 = new CaseInsensitiveAddress("ADDRESS1", "SAN FRANCISCO", "CA");

                address.ShouldNotBe(address2);
            }
            public void Equals_works_with_nulls_in_second_object()
            {
                CaseInsensitiveAddress address  = new CaseInsensitiveAddress("Address1", "San Francisco", "CA");
                CaseInsensitiveAddress address2 = new CaseInsensitiveAddress("ADDRESS1", null, "CA");

                address.ShouldNotBe(address2);
            }
            public void Equals_works_with_non_identical_values()
            {
                CaseInsensitiveAddress address  = new CaseInsensitiveAddress("Address1", "San Francisco", "CA");
                CaseInsensitiveAddress address2 = new CaseInsensitiveAddress("ADDRESS2", "SAN FRANCISCO", "CA");

                address.ShouldNotBe(address2);
            }
            public void Equals_is_symmetrical()
            {
                CaseInsensitiveAddress address  = new CaseInsensitiveAddress("Address1", "San Francisco", "CA");
                CaseInsensitiveAddress address2 = new CaseInsensitiveAddress("Address2", "San Francisco", "CA");
                CaseInsensitiveAddress address3 = new CaseInsensitiveAddress("ADDRESS1", "SAN FRANCISCO", "CA");

                address.ShouldNotBe(address2);
                address2.ShouldNotBe(address);

                address.ShouldBe(address3);
                address3.ShouldBe(address);
            }