public void IsValid_Works_For_White_Space_Name()
        {
            var sut = new TypeAndName(_type, new Name("  \t  "));

            Assert.False(sut.IsValid());
        }
        public void IsValid_Works_For_Empty_Name()
        {
            var sut = new TypeAndName(_type, new Name(Empty));

            Assert.False(sut.IsValid());
        }
        public void IsValid_Works_For_Null_Type()
        {
            var sut = new TypeAndName(null, _name);

            Assert.False(sut.IsValid());
        }
        public void IsValid_Works_For_Null_Name()
        {
            var sut = new TypeAndName(_type, new Name(null));

            Assert.False(sut.IsValid());
        }
 public Property Equals_works(TypeAndName x, TypeAndName y) =>
 (!x.IsValid() || !y.IsValid() ? !x.Equals(y) :
  ((x.Type == y.Type && x.Name.Equals(y.Name)) == x.Equals(y)))
 .ToProperty();