public void IsMatchReturnsTrueWhenPropertyMatchesDerivedTypeProperty()
        {
            var property = typeof(Person).GetProperty(nameof(Person.Id)) !;

            var sut = new ExpressionIgnoreRule <Entity>(x => x.Id);

            var actual = sut.IsMatch(property);

            actual.Should().BeTrue();
        }
        public void IsMatchReturnsTrueWhenInheritedPropertyMatchesPropertyOnDeclaredType()
        {
            var property = typeof(Person).GetProperty(nameof(Person.Id)) !;

            var sut = new ExpressionIgnoreRule <Person>(x => x.Id);

            var actual = sut.IsMatch(property);

            actual.Should().BeTrue();
        }
        public void IsMatchReturnsTrueWhenPropertyMatches()
        {
            var property = typeof(Person).GetProperty(nameof(Person.FirstName)) !;

            var sut = new ExpressionIgnoreRule <Person>(x => x.FirstName);

            var actual = sut.IsMatch(property);

            actual.Should().BeTrue();
        }
        public void IsMatchReturnsFalseWhenPropertyNameDoesNotMatch()
        {
            var property = typeof(Person).GetProperty(nameof(Person.FirstName)) !;

            var sut = new ExpressionIgnoreRule <Person>(x => x.LastName);

            var actual = sut.IsMatch(property);

            actual.Should().BeFalse();
        }