public void Equals_SameInstance_True()
        {
            // arrange
            var a = new NameString("Foo");

            // act
            bool result = a.Equals(a);

            // assert
            Assert.True(result);
        }
        public void Equals_StringDifferentValue_False()
        {
            // arrange
            var a = new NameString("Foo");
            var b = "Bar";

            // act
            bool result = a.Equals(b);

            // assert
            Assert.False(result);
        }
        public void Equals_StringWithSameValue_True()
        {
            // arrange
            var a = new NameString("Foo");
            var b = "Foo";

            // act
            bool result = a.Equals(b);

            // assert
            Assert.True(result);
        }
        public void EqualsIgnoreCasing_NameStringWithDifferentCasing_True()
        {
            // arrange
            var a = new NameString("FOO");
            var b = new NameString("foo");

            // act
            bool result = a.Equals(b, StringComparison.OrdinalIgnoreCase);

            // assert
            Assert.True(result);
        }