Exemplo n.º 1
0
        public void ShouldRestrictTwoCategoriesWithSameNames()
        {
            GridEntryCollection <CategoryItemMock> collection = new GridEntryCollection <CategoryItemMock>();

            collection.Add(new CategoryItemMock("one"));
            collection.Add(new CategoryItemMock("one"));
        }
        private void TestForm_Load(object sender, EventArgs e)
        {
            propertyGrid.SelectedObject = domainUpDown;

            GridEntryCollection entries          = propertyGrid.GetPropEntries();
            PropertyGridView    propertyGridView = (PropertyGridView)propertyGrid.ActiveControl;

            foreach (GridEntry entry in entries)
            {
                int entryHeight = propertyGridView.AccessibilityGetGridEntryBounds(entry).Height;
                AccRowHeightSum += entryHeight;
                if (entryHeight > 0)
                {
                    entriesBorders++;
                }

                foreach (GridEntry item in entry.GridItems)
                {
                    int itemHeight = propertyGridView.AccessibilityGetGridEntryBounds(item).Height;
                    AccRowHeightSum += itemHeight;
                    if (itemHeight > 0)
                    {
                        entriesBorders++;
                    }
                }
            }
            AccPropertyGridViewHeight = propertyGridView.AccessibilityObject.Bounds.Height;

            Application.Exit();
        }
Exemplo n.º 3
0
        public void ShouldReturnNullForMissingName()
        {
            GridEntryCollection <CategoryItemMock> collection = new GridEntryCollection <CategoryItemMock>();

            Assert.IsNull(collection["missing"]);
            Assert.IsNull(collection[null]);
        }
Exemplo n.º 4
0
        public void ShouldInitializeAgainstExistingCollection()
        {
            CategoryItemMock category1 = new CategoryItemMock("one");
            CategoryItemMock category2 = new CategoryItemMock("two");
            GridEntryCollection <CategoryItemMock> collection = new GridEntryCollection <CategoryItemMock>(new CategoryItemMock[] { category1, category2 });

            Assert.AreEqual <int>(2, collection.Count);
            Assert.AreEqual(category1, collection[0]);
            Assert.AreEqual(category2, collection[1]);
        }
Exemplo n.º 5
0
        public void ShouldReturnItemByName()
        {
            CategoryItemMock category1 = new CategoryItemMock("one");
            CategoryItemMock category2 = new CategoryItemMock("two");

            GridEntryCollection <CategoryItemMock> collection = new GridEntryCollection <CategoryItemMock>();

            collection.Add(category1);
            collection.Add(category2);

            Assert.AreEqual(category1, collection["one"]);
            Assert.AreEqual(category2, collection["two"]);
        }
Exemplo n.º 6
0
        public void ShouldPerformBinarySearchWithComparer()
        {
            CategoryItemMock item1 = new CategoryItemMock("a");
            CategoryItemMock item2 = new CategoryItemMock("b");

            GridEntryCollection <CategoryItemMock> list = new GridEntryCollection <CategoryItemMock>();

            list.Add(item1);
            list.Add(item2);

            Assert.AreEqual <int>(0, list.BinarySearch(item1, new CategoryItemMockComparer()));
            Assert.AreEqual <int>(1, list.BinarySearch(item2, new CategoryItemMockComparer()));
        }
Exemplo n.º 7
0
        public void ShouldRemoveItemByIndex()
        {
            GridEntryCollection <CategoryItemMock> collection = new GridEntryCollection <CategoryItemMock>();

            collection.Add(new CategoryItemMock("name1"));
            collection.Add(new CategoryItemMock("name2"));

            Assert.AreEqual <int>(2, collection.Count);

            collection.RemoveAt(0);

            Assert.AreEqual <int>(1, collection.Count);
            Assert.IsNull(collection["name1"]);
        }
Exemplo n.º 8
0
        public void ShouldRaiseChangeNotificationsOnSort()
        {
            bool propertyChanged   = false;
            bool collectionChanged = false;

            GridEntryCollection <CategoryItemMock> list = new GridEntryCollection <CategoryItemMock>();

            (list as INotifyPropertyChanged).PropertyChanged += delegate { propertyChanged = true; };
            list.CollectionChanged += delegate { collectionChanged = true; };

            list.Sort(null);
            Assert.IsTrue(propertyChanged);
            Assert.IsTrue(collectionChanged);
        }
Exemplo n.º 9
0
        public void ShouldPerformItemsSort()
        {
            CategoryItemMock item1 = new CategoryItemMock("a");
            CategoryItemMock item2 = new CategoryItemMock("b");

            GridEntryCollection <CategoryItemMock> list = new GridEntryCollection <CategoryItemMock>();

            list.Add(item2);
            list.Add(item1);

            list.Sort(new CategoryItemMockComparer());

            Assert.AreEqual(item1, list[0]);
            Assert.AreEqual(item2, list[1]);
        }
Exemplo n.º 10
0
        public void ShouldRemoveAllItems()
        {
            GridEntryCollection <CategoryItemMock> collection = new GridEntryCollection <CategoryItemMock>();

            collection.Add(new CategoryItemMock("name1"));
            collection.Add(new CategoryItemMock("name2"));

            Assert.AreEqual <int>(2, collection.Count);

            collection.Clear();

            Assert.AreEqual <int>(0, collection.Count);
            Assert.IsNull(collection["name1"]);
            Assert.IsNull(collection["name2"]);
        }
Exemplo n.º 11
0
        public void ShouldRemplaceExistingItemByIndex()
        {
            GridEntryCollection <CategoryItemMock> collection = new GridEntryCollection <CategoryItemMock>();

            collection.Add(new CategoryItemMock("name1"));
            Assert.AreEqual <int>(1, collection.Count);

            CategoryItemMock item = new CategoryItemMock("name2");

            collection[0] = item;

            Assert.AreEqual <int>(1, collection.Count);
            Assert.IsNull(collection["name1"]);
            Assert.AreEqual(item, collection[0]);
            Assert.AreEqual(item, collection["name2"]);
        }
Exemplo n.º 12
0
        public CollectionItemValue(PropertyItemValue propertyItemValue, int index)
        {
            _propertyItemValue = propertyItemValue;
            _index             = index;

            var expandable = PropertyGridUtils.GetAttributes <ExpandableObjectAttribute>(Value);

            if (expandable.Any())
            {
                var descriptors = MetadataRepository.GetProperties(Value).Select(prop => prop.Descriptor);

                if (descriptors.Any())
                {
                    object objectValue;
                    if (Value is ICloneable valueToClone)
                    {
                        objectValue = valueToClone.Clone();
                    }
                    else
                    {
                        objectValue = Value;
                    }


                    HasSubProperties = true;

                    var properties = new GridEntryCollection <PropertyItem>();
                    foreach (PropertyDescriptor d in descriptors)
                    {
                        var item = new PropertyItem(_propertyItemValue.ParentProperty.Owner, objectValue, d);
                        item.IsBrowsable   = ShouldDisplayProperty(d);
                        item.ValueChanged += ItemOnValueChanged;
                        properties.Add(item);
                    }

                    if (_propertyItemValue.ParentProperty.Owner.PropertyComparer != null)
                    {
                        properties.Sort(_propertyItemValue.ParentProperty.Owner.PropertyComparer);
                    }

                    SubProperties = properties;
                }

                MetadataRepository.Remove(Value);
            }
        }
Exemplo n.º 13
0
        public void ShouldPerformBinarySearch()
        {
            CategoryItemMock item1 = new CategoryItemMock("a");
            CategoryItemMock item2 = new CategoryItemMock("b");

            GridEntryCollection <CategoryItemMock> list = new GridEntryCollection <CategoryItemMock>();

            list.Add(item1);
            list.Add(item2);

            int result = list.BinarySearch(item1);

            Assert.AreEqual <int>(0, result);

            result = list.BinarySearch(item2);
            Assert.AreEqual <int>(1, result);
        }
Exemplo n.º 14
0
        public async Task PropertyGridViewRowsAccessibleObject_Ctor_DefaultAsync()
        {
            await RunControlPairTestAsync <DomainUpDown, PropertyGrid>((form, controls) =>
            {
                (DomainUpDown domainUpDown, PropertyGrid propertyGrid) = controls;
                propertyGrid.Size                 = new Size(223, 244);
                form.ClientSize                   = new Size(508, 367);
                propertyGrid.SelectedObject       = domainUpDown;
                GridEntryCollection entries       = propertyGrid.GetCurrentEntries();
                PropertyGridView propertyGridView = (PropertyGridView)propertyGrid.Controls[2];

                int borderHeight   = 2;
                int heightSum      = 0;
                int entriesBorders = 0;

                foreach (GridEntry entry in entries)
                {
                    int entryHeight = propertyGridView.AccessibilityGetGridEntryBounds(entry).Height;
                    heightSum      += entryHeight;
                    if (entryHeight > 0)
                    {
                        entriesBorders++;
                    }

                    foreach (GridEntry item in entry.GridItems)
                    {
                        int itemHeight = propertyGridView.AccessibilityGetGridEntryBounds(item).Height;
                        heightSum     += itemHeight;
                        if (itemHeight > 0)
                        {
                            entriesBorders++;
                        }
                    }
                }

                Assert.Equal(heightSum, propertyGridView.AccessibilityObject.Bounds.Height - borderHeight - entriesBorders);

                return(Task.CompletedTask);
            });
        }
        public ScenarioResult PropertyGridViewRowsAccessibleObject_Ctor_Default(TParams p)
        {
            _propertyGrid.SelectedObject = _domainUpDown;
            int heightSum      = 0;
            int entriesBorders = 0;

            GridEntryCollection entries          = _propertyGrid.GetPropEntries();
            PropertyGridView    propertyGridView = (PropertyGridView)_propertyGrid.ActiveControl;

            foreach (GridEntry entry in entries)
            {
                int entryHeight = propertyGridView.AccessibilityGetGridEntryBounds(entry).Height;
                heightSum += entryHeight;
                if (entryHeight > 0)
                {
                    entriesBorders++;
                }

                foreach (GridEntry item in entry.GridItems)
                {
                    int itemHeight = propertyGridView.AccessibilityGetGridEntryBounds(item).Height;
                    heightSum += itemHeight;
                    if (itemHeight > 0)
                    {
                        entriesBorders++;
                    }
                }
            }

            if (heightSum != propertyGridView.AccessibilityObject.Bounds.Height - topBorder - bottomBorder - entriesBorders)
            {
                return(new ScenarioResult(false, "Incorrect dimensions"));
            }

            return(new ScenarioResult(true));
        }