public void PriorityReturnsConstructorValue()
        {
            var priority = Environment.TickCount;

            var sut = new RegexExecuteOrderRule(NameExpression.LastName, priority);

            sut.Priority.Should().Be(priority);
        }
        public void IsMatchThrowsExceptionWithNullProperty()
        {
            var priority = Environment.TickCount;

            var sut = new RegexExecuteOrderRule(NameExpression.FirstName, priority);

            Action action = () => sut.IsMatch((PropertyInfo)null !);

            action.Should().Throw <ArgumentNullException>();
        }
        public void ToStringDoesNotReturnTypeName()
        {
            var priority = Environment.TickCount;

            var sut = new RegexExecuteOrderRule(NameExpression.FirstName, priority);

            var actual = sut.ToString();

            actual.Should().NotBe(sut.GetType().ToString());
        }
        public void IsMatchReturnsTrueWhenPropertyMatches()
        {
            var priority = Environment.TickCount;
            var property = typeof(Person).GetProperty(nameof(Person.FirstName)) !;

            var sut = new RegexExecuteOrderRule(NameExpression.FirstName, priority);

            var actual = sut.IsMatch(property);

            actual.Should().BeTrue();
        }
        public void IsMatchReturnsTrueWhenParameterMatches()
        {
            var priority      = Environment.TickCount;
            var parameterInfo = typeof(Person).GetConstructors()
                                .First(x => x.GetParameters().FirstOrDefault()?.Name == "firstName").GetParameters().First();

            var sut = new RegexExecuteOrderRule(NameExpression.FirstName, priority);

            var actual = sut.IsMatch(parameterInfo);

            actual.Should().BeTrue();
        }
Exemple #6
0
        public static IBuildConfiguration AddExecuteOrderRule(
            this IBuildConfiguration configuration,
            Regex expression,
            int priority)
        {
            configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));

            expression = expression ?? throw new ArgumentNullException(nameof(expression));

            var rule = new RegexExecuteOrderRule(expression, priority);

            configuration.ExecuteOrderRules.Add(rule);

            return(configuration);
        }