Esempio n. 1
0
 public void TestNodeSeparator()
 {
     _builder = new AttributeBuilder(":", ",");
     _builder.Add("a", "1");
     _builder.Add("b", "2");
     Assert.AreEqual("a:\"1\",b:\"2\"", _builder.GetResult());
 }
Esempio n. 2
0
 /// <summary>
 /// 添加属性列表
 /// </summary>
 /// <param name="values">属性列表</param>
 public void Add(string values)
 {
     if (values.IsEmpty())
     {
         return;
     }
     _builder.Add(values);
 }
Esempio n. 3
0
 public void TestAdd_Validate_NameIsEmpty()
 {
     _builder.Add("", "a");
     Assert.AreEqual("", _builder.GetResult());
 }
Esempio n. 4
0
 public void TestAttributeSeparator()
 {
     _builder = new AttributeBuilder(":");
     _builder.Add("class", "a");
     Assert.AreEqual("class:\"a\"", _builder.GetResult());
 }
Esempio n. 5
0
 /// <summary>
 /// 添加属性
 /// </summary>
 /// <param name="name">属性名,范例:class</param>
 /// <param name="value">属性值</param>
 public void AddAttribute(string name, string value)
 {
     AttributeBuilder.Add(name, value);
 }
Esempio n. 6
0
 public void TestNodeSeparator() {
     _builder = new AttributeBuilder( ":","," );
     _builder.Add( "a", "1" );
     _builder.Add( "b", "2" );
     Assert.AreEqual( "a:\"1\",b:\"2\"", _builder.GetResult() );
 }
Esempio n. 7
0
 public void TestAttributeSeparator() {
     _builder = new AttributeBuilder(":");
     _builder.Add( "class", "a" );
     Assert.AreEqual( "class:\"a\"", _builder.GetResult() );
 }
Esempio n. 8
0
        private static void VisitBinary(AttributeBuilder builder, BinaryExpression binary)
        {
            switch (binary.NodeType)
            {
            case ExpressionType.AndAlso:
            {
                builder.Add(Filter.OpenAndGroup);
                VisitExpression(builder, binary.Left);
                VisitExpression(builder, binary.Right);
                builder.Add(Filter.CloseGroup);
                break;
            }

            case ExpressionType.OrElse:
            {
                builder.Add(Filter.OpenOrGroup);
                VisitExpression(builder, binary.Left);
                VisitExpression(builder, binary.Right);
                builder.Add(Filter.CloseGroup);
                break;
            }

            case ExpressionType.Equal:
            {
                VisitBinaryMemberAccess(builder, binary, FilterOperator.Equals);
                break;
            }

            case ExpressionType.NotEqual:
            {
                VisitBinaryMemberAccess(builder, binary, FilterOperator.NotEquals);
                break;
            }

            case ExpressionType.GreaterThan:
            {
                VisitBinaryMemberAccess(builder, binary, FilterOperator.GreaterThan);
                break;
            }

            case ExpressionType.GreaterThanOrEqual:
            {
                VisitBinaryMemberAccess(builder, binary, FilterOperator.GreaterThanOrEqual);
                break;
            }

            case ExpressionType.LessThan:
            {
                VisitBinaryMemberAccess(builder, binary, FilterOperator.LessThan);
                break;
            }

            case ExpressionType.LessThanOrEqual:
            {
                VisitBinaryMemberAccess(builder, binary, FilterOperator.LessThanOrEqual);
                break;
            }

            default:
            {
                throw new NotSupportedException();
            }
            }
        }