예제 #1
0
        public static IEnumerable <IssueModel> GetErrors(String propertyName, String validatedPropertyName, IExpressionModel expressionModel)
        {
            if (String.IsNullOrWhiteSpace(propertyName))
            {
                return(No.Issues);
            }
            if (propertyName != validatedPropertyName)
            {
                return(No.Issues);
            }

            var result = expressionModel.Issues;

            return(result);
        }
예제 #2
0
        public void Build()
        {
            var model = new IExpressionModel[]
            {
                // LogType
                new ExpressionModelTest {
                    Field = "LogType", Operation = "EqualTo", Body = "Line"
                },
                new ExpressionModelTest {
                    Field = "LogType", Operation = "In", Body = "Line"
                },

                // Log Level
                new ExpressionModelTest {
                    Field = "LogLevel", Operation = "EqualTo", Body = "Info"
                },
                new ExpressionModelTest {
                    Field = "LogLevel", Operation = "In", Body = "Info"
                },

                // String Field
                new ExpressionModelTest {
                    Field = "FileName", Operation = "EqualTo", Body = "Test"
                },
                new ExpressionModelTest {
                    Field = "AppName", Operation = "EqualTo", Body = "Test"
                },
                new ExpressionModelTest {
                    Field = "Text", Operation = "EqualTo", Body = "Test"
                },
                new ExpressionModelTest {
                    Field = "Exception.Message", Operation = "EqualTo", Body = "Test"
                },
                new ExpressionModelTest {
                    Field = "Exception.StackTrace", Operation = "EqualTo", Body = "Test"
                },
                // Operations
                new ExpressionModelTest {
                    Field = "Text", Operation = "EqualTo", Body = "Test"
                },
                new ExpressionModelTest {
                    Field = "Text", Operation = "NotEqualTo", Body = "Test"
                },
                new ExpressionModelTest {
                    Field = "Text", Operation = "Contains", Body = "Test"
                },
                new ExpressionModelTest {
                    Field = "Text", Operation = "StartsWith", Body = "Test"
                },
                new ExpressionModelTest {
                    Field = "Text", Operation = "EndsWith", Body = "Test"
                },

                // Int Field
                new ExpressionModelTest {
                    Field = "LineNumber", Operation = "EqualTo", Body = "42"
                },
                new ExpressionModelTest {
                    Field = "GroupDepth", Operation = "EqualTo", Body = "42"
                },
                // Operations
                new ExpressionModelTest {
                    Field = "LineNumber", Operation = "EqualTo", Body = "42"
                },
                new ExpressionModelTest {
                    Field = "LineNumber", Operation = "NotEqualTo", Body = "42"
                },
                new ExpressionModelTest {
                    Field = "LineNumber", Operation = "GreaterThan", Body = "42"
                },
                new ExpressionModelTest {
                    Field = "LineNumber", Operation = "GreaterThanOrEqualTo", Body = "42"
                },
                new ExpressionModelTest {
                    Field = "LineNumber", Operation = "LessThan", Body = "42"
                },
                new ExpressionModelTest {
                    Field = "LineNumber", Operation = "LessThanOrEqualTo", Body = "42"
                },

                // CK Trait
                new ExpressionModelTest {
                    Field = "Tags", Operation = "EqualTo", Body = "Test"
                }
            };

            Action build = () => model.Build();

            build.ShouldNotThrow();
        }