public void SnippetExpressonHasProperty()
        {
            SnippetExpression expression = new SnippetExpression("");

            expression.Value = "3";

            Assert.AreEqual("3", expression.Value);
        }
        public void SnippetExpressonHasProperty()
        {
            SnippetExpression expression = new SnippetExpression("");

            expression.Value = "3";

            Assert.AreEqual("3", expression.Value);
        }
        public void CSharpCodeGenerator_ExpressionCommentAfter()
        {
            var expression = new SnippetExpression("code");

            expression.CommentsAfter.Add("comment2");
            var generator = new CSharpCodeGenerator();
            var result    = generator.Write(expression);

            Assert.That.StringEquals("code /* comment2 */", result);
        }
        public void CSharpCodeGenerator_ExpressionCommentBefore()
        {
            var expression = new SnippetExpression("code");

            expression.CommentsBefore.Add("comment1");
            var generator = new CSharpCodeGenerator();
            var result    = generator.Write(expression);

            Assert.That.StringEquals("/* comment1 */ code", result);
        }
        public void CSharpCodeGenerator_ExpressionCommentBeforeWithInlineCommentEnd()
        {
            var expression = new SnippetExpression("code");

            expression.CommentsBefore.Add("comment with */ in the middle");
            var generator = new CSharpCodeGenerator();
            var result    = generator.Write(expression);

            Assert.That.StringEquals(@"// comment with */ in the middle
code", result);
        }
        public void CSharpCodeGenerator_ExpressionCommentsAfter_LineAndInline()
        {
            var expression = new SnippetExpression("code");

            expression.CommentsAfter.Add("com1", CommentType.LineComment);
            expression.CommentsAfter.Add("com2");
            var generator = new CSharpCodeGenerator();
            var result    = generator.Write(expression);

            Assert.That.StringEquals(@"code // com1
/* com2 */", result);
        }
 internal ConstantDeclaration(
     string name,
     Declaration declaringType,
     Type t,
     SnippetExpression expression
     )
     : base(name,declaringType)
 {
     if (t==null)
         throw new ArgumentNullException("t");
     if (expression == null)
         throw new ArgumentNullException("t");
     this.type = t;
     this.expression = expression;
 }
        public ConstantDeclaration AddConstant(Type type, string name,SnippetExpression expression)
        {
            if (type==null)
                throw new ArgumentNullException("type");
            if (name==null)
                throw new ArgumentNullException("name");
            if (expression==null)
                throw new ArgumentNullException("expression");
            if (this.constants.Contains(name))
                throw new ArgumentException("field already existing in class");

            ConstantDeclaration c = new ConstantDeclaration(this.Conformer.ToCamel(name),this,type,expression);
            this.constants.Add(c);
            return c;
        }
        public void SnippetExpressionProducesSnippet()
        {
            SnippetExpression expression = new SnippetExpression("yay!");

            Assert.AreEqual("yay!;", expression.ToString());
        }
        public void SnippetExpressionProducesSnippet()
        {
            SnippetExpression expression = new SnippetExpression("yay!");

            Assert.AreEqual("yay!;", expression.ToString());
        }