public void ListViewInsertionMark_Index_SetWithHandle_GetReturnsExpected(int value) { using var control = new ListView(); 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++; ListViewInsertionMark insertionMark = control.InsertionMark; insertionMark.Index = value; Assert.Equal(value, insertionMark.Index); Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); // Set again. insertionMark.Index = value; Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); Assert.Equal(value, insertionMark.Index); }
public void ListViewInsertionMark_Index_Get_ReturnsExpected() { var listView = new ListView(); ListViewInsertionMark insertionMark = listView.InsertionMark; Assert.Equal(0, insertionMark.Index); }
public void ListViewInsertionMark_Color_Get_ReturnsExpected() { var listView = new ListView(); ListViewInsertionMark insertionMark = listView.InsertionMark; Assert.NotEqual(Color.Empty, insertionMark.Color); }
public void ListViewInsertionMark_AppearsAfterItem_Get_ReturnsExpected() { var listView = new ListView(); ListViewInsertionMark insertionMark = listView.InsertionMark; Assert.False(insertionMark.AppearsAfterItem); }
public void ListViewInsertionMark_NearestIndex_NoSuchPoint_ReturnsInvalid() { var listView = new ListView(); ListViewInsertionMark insertionMark = listView.InsertionMark; Assert.True(insertionMark.NearestIndex(new Point(-10, -11)) >= -1); }
public void ListViewInsertionMark_Color_Get_ReturnsEqual() { var listView = new ListView(); ListViewInsertionMark insertionMark = listView.InsertionMark; Assert.Equal(insertionMark.Bounds, insertionMark.Bounds); }
public void ListViewInsertionMark_Index_Get_ReturnsExpected() { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; Assert.Equal(0, insertionMark.Index); Assert.False(control.IsHandleCreated); }
public void ListViewInsertionMark_AppearsAfterItem_Get_ReturnsExpected() { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; Assert.False(insertionMark.AppearsAfterItem); Assert.False(control.IsHandleCreated); }
public void ListViewInsertionMark_NearestIndex_NoSuchPointWithoutHandle_ReturnsInvalid() { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; Assert.True(insertionMark.NearestIndex(new Point(-10, -11)) >= -1); Assert.True(control.IsHandleCreated); }
public void ListViewInsertionMark_Color_GetWithoutHandle_ReturnsExpected() { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; Assert.NotEqual(Color.Empty, insertionMark.Color); Assert.Equal(insertionMark.Color, insertionMark.Color); Assert.True(control.IsHandleCreated); }
public void ListViewInsertionMark_Bounds_GetWithoutHandle_ReturnsEqual() { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; Assert.Equal(Rectangle.Empty, insertionMark.Bounds); Assert.Equal(insertionMark.Bounds, insertionMark.Bounds); Assert.True(control.IsHandleCreated); }
public void ListViewInsertionMark_Bounds_GetInvalidGetInsertMarkRect_ReturnsExpected() { using var control = new InvalidGetInsertMarkRectListView(); ListViewInsertionMark insertionMark = control.InsertionMark; Assert.NotEqual(IntPtr.Zero, control.Handle); control.MakeInvalid = true; Assert.Equal(new Rectangle(1, 2, 2, 2), insertionMark.Bounds); }
public void ListViewInsertionMark_NearestIndex_InvokeCustomInsertMarkHitTest_ReturnsExpected(int result) { using var control = new CustomInsertMarkHitTestListView { InsertMarkHitTestResult = result }; ListViewInsertionMark insertionMark = control.InsertionMark; Assert.Equal(result, insertionMark.NearestIndex(new Point(1, 2))); }
public void ListViewInsertionMark_Bounds_GetCustomGetInsertMarkRect_ReturnsExpected(object getInsertMarkRectResult, Rectangle expected) { using var control = new CustomGetInsertMarkRectListView { GetInsertMarkRectResult = (RECT)getInsertMarkRectResult }; ListViewInsertionMark insertionMark = control.InsertionMark; Assert.NotEqual(IntPtr.Zero, control.Handle); Assert.Equal(expected, insertionMark.Bounds); }
public void ListViewInsertionMark_Index_SetWithoutHandle_GetReturnsExpected(int value) { var listView = new ListView(); ListViewInsertionMark insertionMark = listView.InsertionMark; insertionMark.Index = value; Assert.Equal(value, insertionMark.Index); // Set again to test caching behaviour. insertionMark.Index = value; Assert.Equal(value, insertionMark.Index); }
public void ListViewInsertionMark_Color_SetWithoutHandle_ReturnsExpected(Color value) { var listView = new ListView(); ListViewInsertionMark insertionMark = listView.InsertionMark; insertionMark.Color = value; Assert.Equal(value, insertionMark.Color); // Set again to test caching behaviour. insertionMark.Color = value; Assert.Equal(value, insertionMark.Color); }
public unsafe void ListViewInsertionMark_Index_GetInsertMarkWithColor_Success(int indexParam) { // Run this from another thread as we call Application.EnableVisualStyles. RemoteExecutor.Invoke((indexString) => { int index = int.Parse(indexString); Application.EnableVisualStyles(); using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; insertionMark.Color = Color.FromArgb(0x12, 0x34, 0x56, 0x78); // Set same. Assert.NotEqual(IntPtr.Zero, control.Handle); control.InsertionMark.Index = 0; var insertMark = new ComCtl32.LVINSERTMARK { cbSize = (uint)sizeof(ComCtl32.LVINSERTMARK) }; Assert.Equal((IntPtr)0, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARK, IntPtr.Zero, ref insertMark)); Assert.Equal(0x80000000, (uint)insertMark.dwFlags); Assert.Equal(-1, insertMark.iItem); Assert.Equal(0u, insertMark.dwReserved); Assert.Equal((IntPtr)0, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARKCOLOR, IntPtr.Zero, IntPtr.Zero)); // Set negative one. Assert.NotEqual(IntPtr.Zero, control.Handle); control.InsertionMark.Index = -1; insertMark = new ComCtl32.LVINSERTMARK { cbSize = (uint)sizeof(ComCtl32.LVINSERTMARK) }; Assert.Equal((IntPtr)0, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARK, IntPtr.Zero, ref insertMark)); Assert.Equal(0x80000000, (uint)insertMark.dwFlags); Assert.Equal(-1, insertMark.iItem); Assert.Equal(0u, insertMark.dwReserved); Assert.Equal((IntPtr)0x785634, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARKCOLOR, IntPtr.Zero, IntPtr.Zero)); // Set different. control.InsertionMark.Index = index; insertMark = new ComCtl32.LVINSERTMARK { cbSize = (uint)sizeof(ComCtl32.LVINSERTMARK) }; Assert.Equal((IntPtr)1, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARK, IntPtr.Zero, ref insertMark)); Assert.Equal(0x80000000, (uint)insertMark.dwFlags); Assert.Equal(index, insertMark.iItem); Assert.Equal(0u, insertMark.dwReserved); Assert.Equal((IntPtr)0x785634, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARKCOLOR, IntPtr.Zero, IntPtr.Zero)); }, indexParam.ToString()).Dispose(); }
public void ListViewInsertionMark_Color_SetWithoutHandle_ReturnsExpected(Color value) { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; insertionMark.Color = value; Assert.Equal(value, insertionMark.Color); Assert.False(control.IsHandleCreated); // Set again. insertionMark.Color = value; Assert.Equal(value, insertionMark.Color); Assert.False(control.IsHandleCreated); }
public void ListViewInsertionMark_Index_SetWithoutHandle_GetReturnsExpected(int value) { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; insertionMark.Index = value; Assert.Equal(value, insertionMark.Index); Assert.False(control.IsHandleCreated); // Set again. insertionMark.Index = value; Assert.Equal(value, insertionMark.Index); Assert.False(control.IsHandleCreated); }
public unsafe void ListViewInsertionMark_AppearsAfterItem_GetInsertMarkWithColor_Success() { // Run this from another thread as we call Application.EnableVisualStyles. RemoteExecutor.Invoke(() => { Application.EnableVisualStyles(); using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; control.InsertionMark.Color = Color.FromArgb(0x12, 0x34, 0x56, 0x78); // Set same. Assert.NotEqual(IntPtr.Zero, control.Handle); control.InsertionMark.AppearsAfterItem = false; var insertMark = new ComCtl32.LVINSERTMARK { cbSize = (uint)sizeof(ComCtl32.LVINSERTMARK) }; Assert.Equal((IntPtr)0, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARK, IntPtr.Zero, ref insertMark)); Assert.Equal(0x80000000, (uint)insertMark.dwFlags); Assert.Equal(-1, insertMark.iItem); Assert.Equal(0u, insertMark.dwReserved); Assert.Equal((IntPtr)0, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARKCOLOR, IntPtr.Zero, IntPtr.Zero)); // Set true. control.InsertionMark.AppearsAfterItem = true; insertMark = new ComCtl32.LVINSERTMARK { cbSize = (uint)sizeof(ComCtl32.LVINSERTMARK) }; Assert.Equal((IntPtr)1, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARK, IntPtr.Zero, ref insertMark)); Assert.Equal(0x80000001, (uint)insertMark.dwFlags); Assert.Equal(0, insertMark.iItem); Assert.Equal(0u, insertMark.dwReserved); Assert.Equal((IntPtr)0x785634, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARKCOLOR, IntPtr.Zero, IntPtr.Zero)); // Set false. control.InsertionMark.AppearsAfterItem = false; insertMark = new ComCtl32.LVINSERTMARK { cbSize = (uint)sizeof(ComCtl32.LVINSERTMARK) }; Assert.Equal((IntPtr)1, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARK, IntPtr.Zero, ref insertMark)); Assert.Equal(0x80000000, (uint)insertMark.dwFlags); Assert.Equal(0, insertMark.iItem); Assert.Equal(0u, insertMark.dwReserved); Assert.Equal((IntPtr)0x785634, User32.SendMessageW(control.Handle, (User32.WM)ComCtl32.LVM.GETINSERTMARKCOLOR, IntPtr.Zero, IntPtr.Zero)); }).Dispose(); }
public void ListViewInsertionMark_AppearsAfterItem_SetWithoutHandle_ReturnsExpected() { var listView = new ListView(); ListViewInsertionMark insertionMark = listView.InsertionMark; // Set true. insertionMark.AppearsAfterItem = true; Assert.True(insertionMark.AppearsAfterItem); // Set again to test caching behaviour. insertionMark.AppearsAfterItem = true; Assert.True(insertionMark.AppearsAfterItem); // Set false. insertionMark.AppearsAfterItem = false; Assert.False(insertionMark.AppearsAfterItem); }
public void ListViewInsertionMark_AppearsAfterItem_Set_GetReturnsExpected(bool value) { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; insertionMark.AppearsAfterItem = value; Assert.Equal(value, insertionMark.AppearsAfterItem); Assert.False(control.IsHandleCreated); // Set same. insertionMark.AppearsAfterItem = value; Assert.Equal(value, insertionMark.AppearsAfterItem); Assert.False(control.IsHandleCreated); // Set different. insertionMark.AppearsAfterItem = !value; Assert.Equal(!value, insertionMark.AppearsAfterItem); Assert.False(control.IsHandleCreated); }
public void ListViewInsertionMark_AppearsAfterItem_SetWithHandle_GetReturnsExpected(bool value) { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; 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++; insertionMark.AppearsAfterItem = value; Assert.Equal(value, insertionMark.AppearsAfterItem); Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); // Set same. insertionMark.AppearsAfterItem = value; Assert.Equal(value, insertionMark.AppearsAfterItem); Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); // Set different. insertionMark.AppearsAfterItem = !value; Assert.Equal(!value, insertionMark.AppearsAfterItem); Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); }
public void ListViewInsertionMark_NearestIndex_NoSuchPointWithHandle_ReturnsInvalid() { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; 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++; Assert.True(insertionMark.NearestIndex(new Point(-10, -11)) >= -1); Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); }
public void ListViewInsertionMark_Bounds_GetWithHandle_ReturnsEqual() { using var control = new ListView(); ListViewInsertionMark insertionMark = control.InsertionMark; 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++; Assert.Equal(Rectangle.Empty, insertionMark.Bounds); Assert.Equal(insertionMark.Bounds, insertionMark.Bounds); Assert.True(control.IsHandleCreated); Assert.Equal(0, invalidatedCallCount); Assert.Equal(0, styleChangedCallCount); Assert.Equal(0, createdCallCount); }
public void ListViewInsertionMark_AppearsAfterItem_SetWithHandle_ReturnsExpected() { var listView = new ListView(); Assert.NotEqual(IntPtr.Zero, listView.Handle); ListViewInsertionMark insertionMark = listView.InsertionMark; // Set true. insertionMark.AppearsAfterItem = true; Assert.True(insertionMark.AppearsAfterItem); // Set again to test caching behaviour. insertionMark.AppearsAfterItem = true; Assert.True(insertionMark.AppearsAfterItem); // Set false. insertionMark.AppearsAfterItem = false; Assert.False(insertionMark.AppearsAfterItem); // Set with color. insertionMark.Color = Color.Blue; insertionMark.AppearsAfterItem = true; Assert.True(insertionMark.AppearsAfterItem); }