コード例 #1
0
        public void AttributeName_Set_GetReturnsExpected()
        {
            var control = new AsqRequestControl {
                AttributeName = "Name"
            };

            Assert.Equal("Name", control.AttributeName);
        }
コード例 #2
0
        public void Remove_Valid_Success()
        {
            var control    = new AsqRequestControl("name");
            var collection = new DirectoryControlCollection {
                control
            };

            collection.Remove(control);
            Assert.Empty(collection);
        }
コード例 #3
0
        public void Indexer_Set_GetReturnsExpected()
        {
            var control    = new AsqRequestControl("name");
            var collection = new DirectoryControlCollection {
                new AsqRequestControl()
            };

            collection[0] = control;
            Assert.Equal(control, collection[0]);
        }
コード例 #4
0
        public void Ctor_String(string attributeName, byte[] expectedValue)
        {
            var control = new AsqRequestControl(attributeName);

            Assert.Equal(attributeName, control.AttributeName);
            Assert.True(control.IsCritical);
            Assert.True(control.ServerSide);
            Assert.Equal("1.2.840.113556.1.4.1504", control.Type);

            Assert.Equal(expectedValue, control.GetValue());
        }
コード例 #5
0
        public void Ctor_Default()
        {
            var control = new AsqRequestControl();

            Assert.Null(control.AttributeName);
            Assert.True(control.IsCritical);
            Assert.True(control.ServerSide);
            Assert.Equal("1.2.840.113556.1.4.1504", control.Type);

            Assert.Equal(new byte[] { 48, 132, 0, 0, 0, 2, 4, 0 }, control.GetValue());
        }
コード例 #6
0
        public void Add_ValidControl_AppendsToList()
        {
            var control1   = new AsqRequestControl("name1");
            var control2   = new AsqRequestControl("name2");
            var collection = new DirectoryControlCollection {
                control1, control2
            };

            Assert.Equal(2, collection.Count);
            Assert.Equal(new DirectoryControl[] { control1, control2 }, collection.Cast <DirectoryControl>());
        }
コード例 #7
0
        public void IndexOf_Valid_ReturnsExpected()
        {
            var control    = new AsqRequestControl("name");
            var collection = new DirectoryControlCollection {
                control
            };

            Assert.Equal(0, collection.IndexOf(control));
            Assert.Equal(-1, collection.IndexOf(new AsqRequestControl()));
            Assert.Equal(-1, collection.IndexOf(null));
        }
コード例 #8
0
        public void Insert_ValidDirectoryAttribute_Success()
        {
            var control1   = new AsqRequestControl("name1");
            var control2   = new AsqRequestControl("name1");
            var collection = new DirectoryControlCollection();

            collection.Insert(0, control1);
            collection.Insert(1, control2);

            Assert.Equal(new DirectoryControl[] { control1, control2 }, collection.Cast <DirectoryControl>());
        }
コード例 #9
0
        public void Contains_Valid_ReturnsExpected()
        {
            var control    = new AsqRequestControl("name");
            var collection = new DirectoryControlCollection {
                control
            };

            Assert.True(collection.Contains(control));
            Assert.False(collection.Contains(new AsqRequestControl()));
            Assert.False(collection.Contains(null));
        }
コード例 #10
0
        public void CopyTo_MultipleTypes_Success()
        {
            DirectoryControl[] array = new DirectoryControl[3];
            var control = new AsqRequestControl("name");

            var collection = new DirectoryControlCollection {
                control
            };

            collection.CopyTo(array, 1);
            Assert.Equal(new DirectoryControl[] { null, control, null }, array);
        }
コード例 #11
0
        public void HandleAttributes(string[] propertiesToLoad)
        {
            if (propertiesToLoad.Length == 0)
            {
                propertiesToLoad = null;
            }

            else if (propertiesToLoad.Length == 1)
            {
                switch (propertiesToLoad[0].ToLowerInvariant())
                {
                case "*":
                case "* -> all attribs":
                    propertiesToLoad = null;

                    break;

                case "null":
                case "none":
                case "0":
                case "0 -> no attribs":
                    propertiesToLoad = new string[] { "distinguishedName" };
                    ShowAttributes   = false;

                    break;
                }
            }

            Attributes = propertiesToLoad;

            if (Attributes != null)
            {
                int startcnt = 0;

                if (ASQRequired)
                {
                    AsqControl = new AsqRequestControl(Attributes[0]);

                    Attributes.RemoveSafe(0, ref Attributes);

                    if (Attributes.Length == 0)
                    {
                        Attributes.AddSafe(null, ref Attributes);
                    }
                }

                for (int cnt = startcnt; cnt < Attributes.Length; cnt++)
                {
                    CurrentAttributesToDisplay.AddSafe <string, short>(Attributes[cnt], 0);
                }
            }
        }
コード例 #12
0
        public void Ctor_Default()
        {
            var control = new AsqRequestControl();

            Assert.Null(control.AttributeName);
            Assert.True(control.IsCritical);
            Assert.True(control.ServerSide);
            Assert.Equal("1.2.840.113556.1.4.1504", control.Type);

            var expected = (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) ? new byte[] { 48, 132, 0, 0, 0, 2, 4, 0 } : new byte[] { 48, 2, 4, 0 };

            Assert.Equal(expected, control.GetValue());
        }