public static ISolutionValidator Get(ValidatorDescription validatorDescription) { var name = validatorDescription.ValidatorName ?? ""; var parts = name.ToLower().Split(' '); if (parts.Contains("csharp")) { var validator = new CSharpSolutionValidator(validatorDescription.RemoveDefaults); foreach (var part in parts) { var pp = part.Split('-'); var subValidator = pp[0]; if (subValidator == "singlestatementmethod") { validator.AddValidator(new SingleStatementMethodValidator()); } if (subValidator == "singlestaticmethod") { validator.AddValidator(new IsStaticMethodValidator()); } if (subValidator == "blocklen") { validator.AddValidator(new BlockLengthStyleValidator(int.Parse(pp[1]))); } if (subValidator == "linelen") { validator.AddValidator(new LineLengthStyleValidator(int.Parse(pp[1]))); } if (subValidator == "recursion") { validator.AddValidator(new RecursionStyleValidator(true)); } if (subValidator == "norecursion") { validator.AddValidator(new RecursionStyleValidator(false)); } if (subValidator == "verbinmethod") { validator.AddValidator(new VerbInMethodNameValidator(pp.Skip(1).ToArray())); } } return(validator); } return(new NullValidator()); }
public static ISolutionValidator Get(string name) { var parts = name.ToLower().Split(' '); if (parts.Contains("cs")) { var validator = new CSharpSolutionValidator(); foreach (var part in parts) { var pp = part.Split('-'); var subValidator = pp[0]; if (subValidator == "singlestatementmethod") { validator.AddValidator(new SingleStatementMethodAttribute()); } if (subValidator == "singlestaticmethod") { validator.AddValidator(new IsStaticMethodAttribute()); } if (subValidator == "blocklen") { validator.AddValidator(new BlockLengthStyleValidator(int.Parse(pp[1]))); } if (subValidator == "linelen") { validator.AddValidator(new LineLengthStyleValidator(int.Parse(pp[1]))); } if (subValidator == "recursion") { validator.AddValidator(new RecursionStyleValidator(true)); } if (subValidator == "norecursion") { validator.AddValidator(new RecursionStyleValidator(false)); } } return(validator); } return(new NullValidator()); }