ColorPickerTests.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using Terminal.Gui;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Xunit;
  8. namespace Terminal.Gui.ViewsTests {
  9. public class ColorPickerTests {
  10. [Fact]
  11. public void Constructors ()
  12. {
  13. var colorPicker = new ColorPicker ();
  14. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  15. Assert.Equal (new Point (0, 0), colorPicker.Cursor);
  16. Assert.True (colorPicker.CanFocus);
  17. colorPicker.BeginInit ();
  18. colorPicker.EndInit ();
  19. colorPicker.LayoutSubviews ();
  20. Assert.Equal (new Rect (0, 0, 32, 4), colorPicker.Frame);
  21. }
  22. [Fact]
  23. [AutoInitShutdown]
  24. public void KeyBindings_Command ()
  25. {
  26. var colorPicker = new ColorPicker ();
  27. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  28. Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorRight, new KeyModifiers ())));
  29. Assert.Equal (ColorName.Blue, colorPicker.SelectedColor);
  30. Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorDown, new KeyModifiers ())));
  31. Assert.Equal (ColorName.BrightBlue, colorPicker.SelectedColor);
  32. Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorLeft, new KeyModifiers ())));
  33. Assert.Equal (ColorName.DarkGray, colorPicker.SelectedColor);
  34. Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorUp, new KeyModifiers ())));
  35. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  36. Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorLeft, new KeyModifiers ())));
  37. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  38. Assert.True (colorPicker.ProcessKey (new KeyEvent (Key.CursorUp, new KeyModifiers ())));
  39. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  40. }
  41. [Fact]
  42. [AutoInitShutdown]
  43. public void MouseEvents ()
  44. {
  45. var colorPicker = new ColorPicker () {
  46. X = 0,
  47. Y = 0,
  48. Height = 4,
  49. Width = 32
  50. };
  51. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  52. Application.Top.Add (colorPicker);
  53. Application.Begin (Application.Top);
  54. Assert.False (colorPicker.MouseEvent (new MouseEvent ()));
  55. Assert.True (colorPicker.MouseEvent (new MouseEvent () { Flags = MouseFlags.Button1Clicked, X = 4, Y = 1 }));
  56. Assert.Equal (ColorName.Blue, colorPicker.SelectedColor);
  57. }
  58. [Fact]
  59. [AutoInitShutdown]
  60. public void SelectedColorAndCursor ()
  61. {
  62. var colorPicker = new ColorPicker ();
  63. colorPicker.SelectedColor = ColorName.White;
  64. Assert.Equal (7, colorPicker.Cursor.X);
  65. Assert.Equal (1, colorPicker.Cursor.Y);
  66. colorPicker.SelectedColor = Color.Black;
  67. Assert.Equal (0, colorPicker.Cursor.X);
  68. Assert.Equal (0, colorPicker.Cursor.Y);
  69. colorPicker.Cursor = new Point (7, 1);
  70. Assert.Equal (ColorName.White, colorPicker.SelectedColor);
  71. colorPicker.Cursor = new Point (0, 0);
  72. Assert.Equal (ColorName.Black, colorPicker.SelectedColor);
  73. }
  74. }
  75. }