示例#1
0
        public void Ctor_Default()
        {
            var collection = new DirectoryAttributeCollection();

            Assert.Equal(0, collection.Count);
            Assert.Equal(0, collection.Capacity);
        }
示例#2
0
        public void AddRange_NullObjectInValues_ThrowsArgumentException()
        {
            DirectoryAttribute[] attributes = new DirectoryAttribute[] { new DirectoryAttribute(), null, new DirectoryAttribute() };
            var collection = new DirectoryAttributeCollection();

            Assert.Throws <ArgumentException>(null, () => collection.AddRange(attributes));
            Assert.Equal(0, collection.Count);
        }
示例#3
0
        public void Remove_InvalidValue_ThrowsArgumentException(object value, string paramName)
        {
            IList collection = new DirectoryAttributeCollection {
                new DirectoryAttribute()
            };

            Assert.Throws <ArgumentException>(paramName, () => collection.Remove(value));
        }
示例#4
0
        public void AddRange_ValidAttributes_AddsToCollection()
        {
            DirectoryAttribute[] attributes = new DirectoryAttribute[] { new DirectoryAttribute(), new DirectoryAttribute() };

            var collection = new DirectoryAttributeCollection();

            collection.AddRange(attributes);

            Assert.Equal(attributes, collection.Cast <DirectoryAttribute>());
        }
示例#5
0
        public void Add_ValidAttribute_AppendsToList()
        {
            var attribute1 = new DirectoryAttribute("name1", "value");
            var attribute2 = new DirectoryAttribute("name2", "value");
            var collection = new DirectoryAttributeCollection {
                attribute1, attribute2
            };

            Assert.Equal(2, collection.Count);
            Assert.Equal(new DirectoryAttribute[] { attribute1, attribute2 }, collection.Cast <DirectoryAttribute>());
        }
示例#6
0
        public void Indexer_Set_GetReturnsExpected()
        {
            var attribute = new DirectoryAttribute {
                "value"
            };
            var collection = new DirectoryAttributeCollection {
                new DirectoryAttribute()
            };

            collection[0] = attribute;
            Assert.Equal(attribute, collection[0]);
        }
示例#7
0
        public void Remove_Valid_Success()
        {
            var attribute = new DirectoryAttribute {
                "value"
            };
            var collection = new DirectoryAttributeCollection {
                attribute
            };

            collection.Remove(attribute);
            Assert.Empty(collection);
        }
示例#8
0
        public void Contains_Valid_ReturnsExpected()
        {
            var attribute = new DirectoryAttribute {
                "value"
            };
            var collection = new DirectoryAttributeCollection {
                attribute
            };

            Assert.True(collection.Contains(attribute));
            Assert.False(collection.Contains(new DirectoryAttribute()));
            Assert.False(collection.Contains(null));
        }
示例#9
0
        public void IndexOf_Valid_ReturnsExpected()
        {
            var attribute = new DirectoryAttribute {
                "value"
            };
            var collection = new DirectoryAttributeCollection {
                attribute
            };

            Assert.Equal(0, collection.IndexOf(attribute));
            Assert.Equal(-1, collection.IndexOf(new DirectoryAttribute()));
            Assert.Equal(-1, collection.IndexOf(null));
        }
示例#10
0
 public ExSearchResultEntry(string distinguishedName, DirectoryAttributeCollection attributes)
 {
     if (string.IsNullOrEmpty(distinguishedName))
     {
         throw new ArgumentNullException("distinguishedName");
     }
     this.attributes = new Dictionary <string, DirectoryAttribute>(attributes.Count, StringComparer.OrdinalIgnoreCase);
     foreach (object obj in attributes)
     {
         DirectoryAttribute directoryAttribute = (DirectoryAttribute)obj;
         this.attributes.Add(directoryAttribute.Name, directoryAttribute);
     }
     this.distinguishedName = distinguishedName;
 }
示例#11
0
        public void CopyTo_MultipleTypes_Success()
        {
            DirectoryAttribute[] array = new DirectoryAttribute[3];
            var attribute = new DirectoryAttribute {
                "value"
            };

            var collection = new DirectoryAttributeCollection {
                attribute
            };

            collection.CopyTo(array, 1);
            Assert.Equal(new DirectoryAttribute[] { null, attribute, null }, array);
        }
示例#12
0
        public void Insert_ValidDirectoryAttribute_Success()
        {
            var attribute1 = new DirectoryAttribute {
                "value1"
            };
            var attribute2 = new DirectoryAttribute {
                "value2"
            };
            var collection = new DirectoryAttributeCollection();

            collection.Insert(0, attribute1);
            collection.Insert(1, attribute2);

            Assert.Equal(new DirectoryAttribute[] { attribute1, attribute2 }, collection.Cast <DirectoryAttribute>());
        }
示例#13
0
        public ExSearchResultEntry Clone(string distinguishedName)
        {
            DirectoryAttributeCollection directoryAttributeCollection = new DirectoryAttributeCollection();

            foreach (KeyValuePair <string, DirectoryAttribute> keyValuePair in this.attributes)
            {
                DirectoryAttribute value = keyValuePair.Value;
                DirectoryAttribute directoryAttribute = new DirectoryAttribute();
                directoryAttribute.Name = value.Name;
                foreach (object obj in value)
                {
                    if (obj is byte[])
                    {
                        byte[] array = new byte[((byte[])obj).Length];
                        Buffer.BlockCopy((byte[])obj, 0, array, 0, array.Length);
                        directoryAttribute.Add(array);
                    }
                    else if (obj is string)
                    {
                        string value2 = string.Copy((string)obj);
                        directoryAttribute.Add(value2);
                    }
                    else
                    {
                        if (!(obj is Uri))
                        {
                            throw new NotSupportedException("Type " + obj.GetType() + " is not supported");
                        }
                        Uri value3 = new Uri(((Uri)obj).OriginalString);
                        directoryAttribute.Add(value3);
                    }
                }
                directoryAttributeCollection.Add(directoryAttribute);
            }
            return(new ExSearchResultEntry(distinguishedName, directoryAttributeCollection));
        }
示例#14
0
        public void AddRange_NullAttributes_ThrowsArgumentNullException()
        {
            var collection = new DirectoryAttributeCollection();

            Assert.Throws <ArgumentNullException>("attributes", () => collection.AddRange((DirectoryAttribute[])null));
        }
示例#15
0
        public void Add_NullAttribute_ThrowsArgumentException()
        {
            var collection = new DirectoryAttributeCollection();

            Assert.Throws <ArgumentException>(null, () => collection.Add(null));
        }
示例#16
0
        public void Insert_NullValue_ThrowsArgumentException()
        {
            var collection = new DirectoryAttributeCollection();

            Assert.Throws <ArgumentException>(null, () => collection.Insert(0, null));
        }
示例#17
0
        public void Indexer_SetNull_ThrowsArgumentException()
        {
            var collection = new DirectoryAttributeCollection();

            Assert.Throws <ArgumentException>(null, () => collection[0] = null);
        }
	public void AddRange(DirectoryAttributeCollection attributeCollection) {}
示例#19
0
 public void AddRange(DirectoryAttributeCollection attributeCollection)
 {
 }