Skip to content

Commit 6ef5825

Browse files
authored
Removing unnecessary PropertyGrid tests (#14637)
1 parent d2a3127 commit 6ef5825

1 file changed

Lines changed: 0 additions & 158 deletions

File tree

src/test/unit/System.Windows.Forms/System/Windows/Forms/PropertyGridTests.cs

Lines changed: 0 additions & 158 deletions
Original file line numberDiff line numberDiff line change
@@ -4504,162 +4504,4 @@ public void OnComponentChanging(object component, MemberDescriptor member)
45044504
}
45054505
}
45064506
}
4507-
4508-
#region OnComponentRemoved Tests
4509-
4510-
private static PropertyGrid CreatePropertyGridWithActiveDesigner(
4511-
out Mock<IDesignerHost> mockDesignerHost,
4512-
out Mock<IComponentChangeService> mockChangeService)
4513-
{
4514-
PropertyGrid propertyGrid = new();
4515-
mockDesignerHost = new();
4516-
mockChangeService = new();
4517-
4518-
mockDesignerHost.Setup(h => h.GetService(typeof(IComponentChangeService))).Returns(mockChangeService.Object);
4519-
propertyGrid.TestAccessor.Dynamic.ActiveDesigner = mockDesignerHost.Object;
4520-
4521-
return propertyGrid;
4522-
}
4523-
4524-
[WinFormsFact]
4525-
public void PropertyGrid_OnComponentRemoved_ThrowsWhenComponentIsNull()
4526-
{
4527-
using PropertyGrid propertyGrid = CreatePropertyGridWithActiveDesigner(
4528-
out Mock<IDesignerHost> mockDesignerHost,
4529-
out Mock<IComponentChangeService> mockChangeService);
4530-
4531-
Assert.Throws<InvalidOperationException>(() =>
4532-
mockChangeService.Raise(s => s.ComponentRemoved += null, mockDesignerHost.Object, new ComponentEventArgs(null)));
4533-
}
4534-
4535-
[WinFormsFact]
4536-
public void PropertyGrid_OnComponentRemoved_RemovesComponentFromSelectedObjects()
4537-
{
4538-
using PropertyGrid propertyGrid = CreatePropertyGridWithActiveDesigner(
4539-
out Mock<IDesignerHost> mockDesignerHost,
4540-
out Mock<IComponentChangeService> mockChangeService);
4541-
4542-
using TestComponent component1 = new();
4543-
using TestComponent component2 = new();
4544-
using TestComponent component3 = new();
4545-
4546-
propertyGrid.SelectedObjects = [component1, component2, component3];
4547-
4548-
mockChangeService.Raise(s => s.ComponentRemoved += null, mockDesignerHost.Object, new ComponentEventArgs(component2));
4549-
4550-
Assert.Equal(2, propertyGrid.SelectedObjects.Length);
4551-
Assert.Contains(component1, propertyGrid.SelectedObjects);
4552-
Assert.Contains(component3, propertyGrid.SelectedObjects);
4553-
Assert.DoesNotContain(component2, propertyGrid.SelectedObjects);
4554-
}
4555-
4556-
[WinFormsFact]
4557-
public void PropertyGrid_OnComponentRemoved_HandlesOnlyComponent()
4558-
{
4559-
using PropertyGrid propertyGrid = CreatePropertyGridWithActiveDesigner(
4560-
out Mock<IDesignerHost> mockDesignerHost,
4561-
out Mock<IComponentChangeService> mockChangeService);
4562-
4563-
using TestComponent component = new();
4564-
4565-
propertyGrid.SelectedObject = component;
4566-
4567-
mockChangeService.Raise(s => s.ComponentRemoved += null, mockDesignerHost.Object, new ComponentEventArgs(component));
4568-
4569-
Assert.Empty(propertyGrid.SelectedObjects);
4570-
}
4571-
4572-
[WinFormsFact]
4573-
public void PropertyGrid_OnComponentRemoved_BatchMode_UpdatesSelectedObjectsWithoutRefresh()
4574-
{
4575-
using PropertyGrid propertyGrid = CreatePropertyGridWithActiveDesigner(
4576-
out Mock<IDesignerHost> mockDesignerHost,
4577-
out Mock<IComponentChangeService> mockChangeService);
4578-
mockDesignerHost.Setup(h => h.InTransaction).Returns(true);
4579-
4580-
using TestComponent component1 = new();
4581-
using TestComponent component2 = new();
4582-
4583-
propertyGrid.SelectedObjects = [component1, component2];
4584-
4585-
int selectedObjectsChangedCallCount = 0;
4586-
propertyGrid.SelectedObjectsChanged += (sender, e) => selectedObjectsChangedCallCount++;
4587-
4588-
// Enter batch mode by starting a transaction
4589-
mockDesignerHost.Raise(h => h.TransactionOpened += null, mockDesignerHost.Object, EventArgs.Empty);
4590-
4591-
mockChangeService.Raise(s => s.ComponentRemoved += null, mockDesignerHost.Object, new ComponentEventArgs(component1));
4592-
4593-
// In batch mode, the internal selection updates immediately without invoking the refresh path.
4594-
dynamic testAccessor = propertyGrid.TestAccessor.Dynamic;
4595-
object[] selectedObjects = testAccessor._selectedObjects;
4596-
4597-
Assert.Single(selectedObjects);
4598-
Assert.Equal(component2, selectedObjects[0]);
4599-
Assert.Single(propertyGrid.SelectedObjects);
4600-
Assert.Equal(component2, propertyGrid.SelectedObjects[0]);
4601-
Assert.Equal(0, selectedObjectsChangedCallCount);
4602-
}
4603-
4604-
[WinFormsFact]
4605-
public void PropertyGrid_OnComponentRemoved_DoesNotRemoveNonExistentComponent()
4606-
{
4607-
using PropertyGrid propertyGrid = CreatePropertyGridWithActiveDesigner(
4608-
out Mock<IDesignerHost> mockDesignerHost,
4609-
out Mock<IComponentChangeService> mockChangeService);
4610-
4611-
using TestComponent component1 = new();
4612-
using TestComponent component2 = new();
4613-
using TestComponent component3 = new();
4614-
4615-
propertyGrid.SelectedObjects = [component1, component2];
4616-
4617-
// Try to remove a component that is not in the selection
4618-
mockChangeService.Raise(s => s.ComponentRemoved += null, mockDesignerHost.Object, new ComponentEventArgs(component3));
4619-
4620-
Assert.Equal(2, propertyGrid.SelectedObjects.Length);
4621-
Assert.Contains(component1, propertyGrid.SelectedObjects);
4622-
Assert.Contains(component2, propertyGrid.SelectedObjects);
4623-
}
4624-
4625-
[WinFormsFact]
4626-
public void PropertyGrid_OnComponentRemoved_NullSelectedObjects_DoesNotThrow()
4627-
{
4628-
using PropertyGrid propertyGrid = CreatePropertyGridWithActiveDesigner(
4629-
out Mock<IDesignerHost> mockDesignerHost,
4630-
out Mock<IComponentChangeService> mockChangeService);
4631-
4632-
TestComponent component = new();
4633-
4634-
// Should not throw when _selectedObjects is null
4635-
mockChangeService.Raise(s => s.ComponentRemoved += null, mockDesignerHost.Object, new ComponentEventArgs(component));
4636-
4637-
Assert.Empty(propertyGrid.SelectedObjects);
4638-
}
4639-
4640-
[PropertyTab(typeof(DocumentScopePropertyTab), PropertyTabScope.Component)]
4641-
private class TestComponent : Component, IDisposable
4642-
{
4643-
public string TestProperty { get; set; } = "Test";
4644-
}
4645-
4646-
private class DocumentScopePropertyTab : PropertyTab
4647-
{
4648-
private Bitmap _bitmap;
4649-
public override string TabName => "Document Tab";
4650-
public override Bitmap Bitmap => _bitmap ??= new(1, 1);
4651-
public override PropertyDescriptorCollection GetProperties(object component, Attribute[] attributes)
4652-
=> TypeDescriptor.GetProperties(component, attributes);
4653-
protected override void Dispose(bool disposing)
4654-
{
4655-
if (disposing)
4656-
{
4657-
_bitmap?.Dispose();
4658-
}
4659-
4660-
base.Dispose(disposing);
4661-
}
4662-
}
4663-
4664-
#endregion
46654507
}

0 commit comments

Comments
 (0)