ColorPicker16Tests.cs 2.7 KB

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