public void ByteViewer_OnPaint_InvokeWithHandle_CallsPaint() { using var image = new Bitmap(10, 10); using Graphics graphics = Graphics.FromImage(image); var eventArgs = new PaintEventArgs(graphics, Rectangle.Empty); using var control = new SubByteViewer(); int callCount = 0; PaintEventHandler handler = (sender, e) => { Assert.Same(control, sender); Assert.Same(eventArgs, e); callCount++; }; // Call with handler. control.Paint += handler; control.OnPaint(eventArgs); Assert.Equal(1, callCount); Assert.False(control.IsHandleCreated); // Remove handler. control.Paint -= handler; control.OnPaint(eventArgs); Assert.Equal(1, callCount); Assert.False(control.IsHandleCreated); }
public void ByteViewer_OnPaint_InvokeWithBytesWithHandle_CallsPaint(byte[] bytes, DisplayMode displayMode) { using var image = new Bitmap(10, 10); using Graphics graphics = Graphics.FromImage(image); var eventArgs = new PaintEventArgs(graphics, Rectangle.Empty); using var control = new SubByteViewer(); control.SetBytes(bytes); control.SetDisplayMode(displayMode); 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++; int callCount = 0; PaintEventHandler handler = (sender, e) => { Assert.Same(control, sender); Assert.Same(eventArgs, e); callCount++; }; // Call with handler. control.Paint += handler; control.OnPaint(eventArgs); Assert.Equal(1, callCount); Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); // Remove handler. control.Paint -= handler; control.OnPaint(eventArgs); Assert.Equal(1, callCount); Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); }
public void ByteViewer_OnPaint_NullE_ThrowsNullReferenceException() { using var control = new SubByteViewer(); Assert.Throws <NullReferenceException>(() => control.OnPaint(null)); }