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(); }
public void ShouldReturnNullForMissingName() { GridEntryCollection <CategoryItemMock> collection = new GridEntryCollection <CategoryItemMock>(); Assert.IsNull(collection["missing"]); Assert.IsNull(collection[null]); }
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]); }
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"]); }
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())); }
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"]); }
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); }
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]); }
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"]); }
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"]); }
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); } }
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); }
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)); }