ColorPickerTests.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. namespace Terminal.Gui.ViewsTests;
  2. public class ColorPickerTests
  3. {
  4. [Fact]
  5. public void Constructors ()
  6. {
  7. var colorPicker = new ColorPicker ();
  8. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  9. Assert.Equal (Point.Empty, colorPicker.Cursor);
  10. Assert.True (colorPicker.CanFocus);
  11. colorPicker.BeginInit ();
  12. colorPicker.EndInit ();
  13. colorPicker.LayoutSubviews ();
  14. Assert.Equal (new (0, 0, 32, 4), colorPicker.Frame);
  15. }
  16. [Fact]
  17. public void KeyBindings_Command ()
  18. {
  19. var colorPicker = new ColorPicker ();
  20. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  21. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorRight));
  22. Assert.Equal (ColorName.Blue, colorPicker.SelectedColor);
  23. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorDown));
  24. Assert.Equal (ColorName.BrightBlue, colorPicker.SelectedColor);
  25. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorLeft));
  26. Assert.Equal (ColorName.DarkGray, colorPicker.SelectedColor);
  27. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorUp));
  28. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  29. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorLeft));
  30. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  31. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorUp));
  32. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  33. }
  34. [Fact]
  35. [AutoInitShutdown]
  36. public void MouseEvents ()
  37. {
  38. var colorPicker = new ColorPicker { X = 0, Y = 0, Height = 4, Width = 32 };
  39. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  40. var top = new Toplevel ();
  41. top.Add (colorPicker);
  42. Application.Begin (top);
  43. Assert.False (colorPicker.NewMouseEvent (new ()));
  44. Assert.True (colorPicker.NewMouseEvent (new() { Position = new (4, 1), Flags = MouseFlags.Button1Clicked }));
  45. Assert.Equal (ColorName.Blue, colorPicker.SelectedColor);
  46. top.Dispose ();
  47. }
  48. [Fact]
  49. public void SelectedColorAndCursor ()
  50. {
  51. var colorPicker = new ColorPicker ();
  52. colorPicker.SelectedColor = ColorName.White;
  53. Assert.Equal (7, colorPicker.Cursor.X);
  54. Assert.Equal (1, colorPicker.Cursor.Y);
  55. colorPicker.SelectedColor = Color.Black;
  56. Assert.Equal (0, colorPicker.Cursor.X);
  57. Assert.Equal (0, colorPicker.Cursor.Y);
  58. colorPicker.Cursor = new (7, 1);
  59. Assert.Equal (ColorName.White, colorPicker.SelectedColor);
  60. colorPicker.Cursor = Point.Empty;
  61. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  62. }
  63. }