public void TestContainsFilter()
        {
            ContainsFilter v1 = new ContainsFilter(ConnectorAttributeBuilder.Build("foo", "bar"));
            ContainsFilter v2 = (ContainsFilter)CloneObject(v1);

            Assert.AreEqual(v1.GetAttribute(), v2.GetAttribute());
        }
        public void TestNotFilter()
        {
            ContainsFilter left1 = new ContainsFilter(ConnectorAttributeBuilder.Build("foo", "bar"));
            NotFilter      v1    = new NotFilter(left1);
            NotFilter      v2    = (NotFilter)CloneObject(v1);
            ContainsFilter left2 = (ContainsFilter)v2.Filter;

            Assert.AreEqual(left1.GetAttribute(), left2.GetAttribute());
        }
        protected override String CreateContainsExpression(ContainsFilter filter,
                                                           Boolean not)
        {
            String[] attrNames = GetLdapNamesForAttribute(filter.GetAttribute());
            if (attrNames == null)
            {
                return(null);
            }

            StringBuilder builder = new StringBuilder();

            if (not)
            {
                builder.Append("(!");
            }
            if (attrNames.Length == 1)
            {
                builder.Append('(');
                builder.Append(attrNames[0]);
                builder.Append("=*");
                int len = builder.Length;
                GetLdapFilterValue(builder, attrNames[0], filter.GetValue());
                // Build (attr=*) rather than (attr=**) for zero-length values.
                if (builder.Length != len)
                {
                    builder.Append('*');
                }
                builder.Append(')');
            }
            else
            {
                builder.Append("(|");
                foreach (String attrName in attrNames)
                {
                    builder.Append('(');
                    builder.Append(attrName);
                    builder.Append("=*");
                    int len = builder.Length;
                    GetLdapFilterValue(builder, attrName, filter.GetValue());
                    // Build (attr=*) rather than (attr=**) for zero-length values.
                    if (builder.Length != len)
                    {
                        builder.Append('*');
                    }
                    builder.Append(')');
                }
                builder.Append(')');
            }
            if (not)
            {
                builder.Append(')');
            }
            return(builder.ToString());
        }
 public void TestAndFilter()
 {
     ContainsFilter left1 = new ContainsFilter(ConnectorAttributeBuilder.Build("foo", "bar"));
     ContainsFilter right1 = new ContainsFilter(ConnectorAttributeBuilder.Build("foo2", "bar2"));
     AndFilter v1 = new AndFilter(left1, right1);
     AndFilter v2 = (AndFilter)CloneObject(v1);
     ContainsFilter left2 = (ContainsFilter)v2.Left;
     ContainsFilter right2 = (ContainsFilter)v2.Right;
     Assert.AreEqual(left1.GetAttribute(), left2.GetAttribute());
     Assert.AreEqual(right1.GetAttribute(), right2.GetAttribute());
 }
        public void TestOrFilter()
        {
            ContainsFilter left1  = new ContainsFilter(ConnectorAttributeBuilder.Build("foo", "bar"));
            ContainsFilter right1 = new ContainsFilter(ConnectorAttributeBuilder.Build("foo2", "bar2"));
            OrFilter       v1     = new OrFilter(left1, right1);
            OrFilter       v2     = (OrFilter)CloneObject(v1);
            ContainsFilter left2  = (ContainsFilter)v2.Left;
            ContainsFilter right2 = (ContainsFilter)v2.Right;

            Assert.AreEqual(left1.GetAttribute(), left2.GetAttribute());
            Assert.AreEqual(right1.GetAttribute(), right2.GetAttribute());
        }
 public void TestNotFilter()
 {
     ContainsFilter left1 = new ContainsFilter(ConnectorAttributeBuilder.Build("foo", "bar"));
     NotFilter v1 = new NotFilter(left1);
     NotFilter v2 = (NotFilter)CloneObject(v1);
     ContainsFilter left2 = (ContainsFilter)v2.Filter;
     Assert.AreEqual(left1.GetAttribute(), left2.GetAttribute());
 }
 public void TestContainsFilter()
 {
     ContainsFilter v1 = new ContainsFilter(ConnectorAttributeBuilder.Build("foo", "bar"));
     ContainsFilter v2 = (ContainsFilter)CloneObject(v1);
     Assert.AreEqual(v1.GetAttribute(), v2.GetAttribute());
 }