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()); }