ColorPickerTests.cs 2.8 KB

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