private string HandleToken(string className, Rule rule, Token token)
        {
            Func<string, Rule, Token, string> handler;
            tokenStringifiers.TryGetValue(token.Id, out handler);

            return handler != null ? handler(className, rule, token) : null;
        }
        private string MustParser(string className, Rule rule, Token token)
        {
            var info = token.Info as SimpleLambdaExpressionSyntax;

            var details =
                info != null ?
                "satisfy " + lamdaDocumenter.Document(friendly.Get(rule.Name), info) :
                friendly.Get(token.Info.ToString());
            return "must " + details;
        }
 private string LengthParser(Token token)
 {
     var args = (object[])token.Info;
     return string.Format("must have length between {0} and {1}", args[0], args[1]);
 }
 private string BetweenParser(Token token, string type)
 {
     var args = (object[])token.Info;
     return string.Format("must be between {0} and {1} ({2})", args[0], args[1], type);
 }
 private string ArgumentParser(Token token, string text)
 {
     return string.Concat("must ", text, " ", token.Info);
 }
 private string WhenParser(string className, Rule rule, Token token)
 {
     var info = token.Info as SimpleLambdaExpressionSyntax;
     var details = info != null ? lamdaDocumenter.Document(friendly.Get(className), info) : friendly.Get(token.Info.ToString());
     return "when " + details;
 }