public void Panel_OnResize_Invoke_CallsResize(EventArgs eventArgs) { using var control = new SubPanel(); int callCount = 0; EventHandler handler = (sender, e) => { Assert.Same(control, sender); Assert.Same(eventArgs, e); callCount++; }; int layoutCallCount = 0; control.Layout += (sender, e) => { Assert.Same(control, sender); Assert.Same(control, e.AffectedControl); Assert.Equal("Bounds", e.AffectedProperty); layoutCallCount++; }; // Call with handler. control.Resize += handler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(1, layoutCallCount); // Remove handler. control.Resize -= handler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(2, layoutCallCount); }
public void Panel_OnResize_InvokeWithResizeRedraw_CallsResizeAndInvalidate(EventArgs eventArgs) { var control = new SubPanel(); control.SetStyle(ControlStyles.ResizeRedraw, true); Assert.NotEqual(IntPtr.Zero, control.Handle); int callCount = 0; EventHandler handler = (sender, e) => { Assert.Same(control, sender); Assert.Same(eventArgs, e); callCount++; }; int invalidatedCallCount = 0; InvalidateEventHandler invalidatedHandler = (sender, e) => invalidatedCallCount++; // Call with handler. control.Resize += handler; control.Invalidated += invalidatedHandler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(1, invalidatedCallCount); // Remove handler. control.Resize -= handler; control.Invalidated -= invalidatedHandler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(1, invalidatedCallCount); }
public void Panel_OnResize_Invoke_CallsResize(EventArgs eventArgs) { var control = new SubPanel(); Assert.NotEqual(IntPtr.Zero, control.Handle); int callCount = 0; EventHandler handler = (sender, e) => { Assert.Same(control, sender); Assert.Same(eventArgs, e); callCount++; }; int invalidatedCallCount = 0; control.Invalidated += (sender, e) => invalidatedCallCount++; // Call with handler. control.Resize += handler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(0, invalidatedCallCount); // Remove handler. control.Resize -= handler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(0, invalidatedCallCount); }
public void Panel_OnResize_InvokeWithDesignMode_CallsResize(bool resizeRedraw, BorderStyle borderStyle, EventArgs eventArgs, int expectedInvalidatedCallCount) { var mockSite = new Mock <ISite>(MockBehavior.Strict); mockSite .Setup(s => s.Container) .Returns((IContainer)null); mockSite .Setup(s => s.DesignMode) .Returns(true); mockSite .Setup(s => s.GetService(typeof(AmbientProperties))) .Returns(null); using var control = new SubPanel { Site = mockSite.Object, BorderStyle = borderStyle }; control.SetStyle(ControlStyles.ResizeRedraw, resizeRedraw); Assert.NotEqual(IntPtr.Zero, control.Handle); int callCount = 0; EventHandler handler = (sender, e) => { Assert.Same(control, sender); Assert.Same(eventArgs, e); callCount++; }; int invalidatedCallCount = 0; control.Invalidated += (sender, e) => invalidatedCallCount++; int styleChangedCallCount = 0; control.StyleChanged += (sender, e) => styleChangedCallCount++; int createdCallCount = 0; control.HandleCreated += (sender, e) => createdCallCount++; // Call with handler. control.Resize += handler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.True(control.IsHandleCreated); Assert.Equal(expectedInvalidatedCallCount, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); // Remove handler. control.Resize -= handler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.True(control.IsHandleCreated); Assert.Equal(expectedInvalidatedCallCount * 2, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); }
public void Panel_OnResize_InvokeWithHandle_CallsResize(bool resizeRedraw, EventArgs eventArgs, int expectedInvalidatedCallCount) { using var control = new SubPanel(); control.SetStyle(ControlStyles.ResizeRedraw, resizeRedraw); int callCount = 0; EventHandler handler = (sender, e) => { Assert.Same(control, sender); Assert.Same(eventArgs, e); callCount++; }; int layoutCallCount = 0; control.Layout += (sender, e) => { Assert.Same(control, sender); Assert.Same(control, e.AffectedControl); Assert.Equal("Bounds", e.AffectedProperty); layoutCallCount++; }; Assert.NotEqual(IntPtr.Zero, control.Handle); int invalidatedCallCount = 0; control.Invalidated += (sender, e) => invalidatedCallCount++; int styleChangedCallCount = 0; control.StyleChanged += (sender, e) => styleChangedCallCount++; int createdCallCount = 0; control.HandleCreated += (sender, e) => createdCallCount++; // Call with handler. control.Resize += handler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(1, layoutCallCount); Assert.True(control.IsHandleCreated); Assert.Equal(expectedInvalidatedCallCount, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); // Remove handler. control.Resize -= handler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(2, layoutCallCount); Assert.True(control.IsHandleCreated); Assert.Equal(expectedInvalidatedCallCount * 2, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); }
public void Panel_OnResize_InvokeWithDesignModeAndResizeRedraw_CallsResizeAndInvalidate(EventArgs eventArgs) { var mockSite = new Mock <ISite>(MockBehavior.Strict); mockSite .Setup(s => s.DesignMode) .Returns(true); mockSite .Setup(s => s.GetService(typeof(AmbientProperties))) .Returns(null); var control = new SubPanel { Site = mockSite.Object }; control.SetStyle(ControlStyles.ResizeRedraw, true); Assert.NotEqual(IntPtr.Zero, control.Handle); int callCount = 0; EventHandler handler = (sender, e) => { Assert.Same(control, sender); Assert.Same(eventArgs, e); callCount++; }; int invalidatedCallCount = 0; InvalidateEventHandler invalidatedHandler = (sender, e) => invalidatedCallCount++; // Call with handler. control.Resize += handler; control.Invalidated += invalidatedHandler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(2, invalidatedCallCount); // Remove handler. control.Resize -= handler; control.Invalidated -= invalidatedHandler; control.OnResize(eventArgs); Assert.Equal(1, callCount); Assert.Equal(2, invalidatedCallCount); }