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 Rectangle (0, 0, 32, 4), colorPicker.Frame);
  15. }
  16. [Fact]
  17. [AutoInitShutdown]
  18. public void KeyBindings_Command ()
  19. {
  20. var colorPicker = new ColorPicker ();
  21. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  22. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorRight));
  23. Assert.Equal (ColorName.Blue, colorPicker.SelectedColor);
  24. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorDown));
  25. Assert.Equal (ColorName.BrightBlue, colorPicker.SelectedColor);
  26. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorLeft));
  27. Assert.Equal (ColorName.DarkGray, colorPicker.SelectedColor);
  28. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorUp));
  29. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  30. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorLeft));
  31. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  32. Assert.True (colorPicker.NewKeyDownEvent (Key.CursorUp));
  33. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  34. }
  35. [Fact]
  36. [AutoInitShutdown]
  37. public void MouseEvents ()
  38. {
  39. var colorPicker = new ColorPicker { X = 0, Y = 0, Height = 4, Width = 32 };
  40. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  41. Application.Top.Add (colorPicker);
  42. Application.Begin (Application.Top);
  43. Assert.False (colorPicker.OnMouseEvent (new MouseEvent ()));
  44. Assert.True (colorPicker.OnMouseEvent (new MouseEvent { Flags = MouseFlags.Button1Clicked, X = 4, Y = 1 }));
  45. Assert.Equal (ColorName.Blue, colorPicker.SelectedColor);
  46. }
  47. [Fact]
  48. [AutoInitShutdown]
  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 Point (7, 1);
  59. Assert.Equal (ColorName.White, colorPicker.SelectedColor);
  60. colorPicker.Cursor = Point.Empty;
  61. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  62. }
  63. }