SizeTests.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. using System;
  2. using Xunit;
  3. namespace Terminal.Gui.Types {
  4. public class SizeTests {
  5. [Fact]
  6. public void Size_New ()
  7. {
  8. var size = new Size ();
  9. Assert.True (size.IsEmpty);
  10. size = new Size (new Point ());
  11. Assert.True (size.IsEmpty);
  12. size = new Size (3, 4);
  13. Assert.False (size.IsEmpty);
  14. Action action = () => new Size (-3, 4);
  15. var ex = Assert.Throws<ArgumentException> (action);
  16. Assert.Equal ("Either Width and Height must be greater or equal to 0.", ex.Message);
  17. action = () => new Size (3, -4);
  18. ex = Assert.Throws<ArgumentException> (action);
  19. Assert.Equal ("Either Width and Height must be greater or equal to 0.", ex.Message);
  20. action = () => new Size (-3, -4);
  21. ex = Assert.Throws<ArgumentException> (action);
  22. Assert.Equal ("Either Width and Height must be greater or equal to 0.", ex.Message);
  23. }
  24. [Fact]
  25. public void Size_SetsValue ()
  26. {
  27. var size = new Size () {
  28. Width = 0,
  29. Height = 0
  30. };
  31. Assert.True (size.IsEmpty);
  32. size = new Size () {
  33. Width = 3,
  34. Height = 4
  35. };
  36. Assert.False (size.IsEmpty);
  37. Action action = () => {
  38. size = new Size () {
  39. Width = -3,
  40. Height = 4
  41. };
  42. };
  43. var ex = Assert.Throws<ArgumentException> (action);
  44. Assert.Equal ("Width must be greater or equal to 0.", ex.Message);
  45. action = () => {
  46. size = new Size () {
  47. Width = 3,
  48. Height = -4
  49. };
  50. };
  51. ex = Assert.Throws<ArgumentException> (action);
  52. Assert.Equal ("Height must be greater or equal to 0.", ex.Message);
  53. action = () => {
  54. size = new Size () {
  55. Width = -3,
  56. Height = -4
  57. };
  58. };
  59. ex = Assert.Throws<ArgumentException> (action);
  60. Assert.Equal ("Width must be greater or equal to 0.", ex.Message);
  61. }
  62. [Fact]
  63. public void Size_Equals ()
  64. {
  65. var size1 = new Size ();
  66. var size2 = new Size ();
  67. Assert.Equal (size1, size2);
  68. size1 = new Size (3, 4);
  69. size2 = new Size (3, 4);
  70. Assert.Equal (size1, size2);
  71. size1 = new Size (3, 4);
  72. size2 = new Size (4, 4);
  73. Assert.NotEqual (size1, size2);
  74. }
  75. }
  76. }