EscSeqReqTests.cs 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. namespace Terminal.Gui.InputTests;
  2. public class EscSeqReqTests
  3. {
  4. [Fact]
  5. public void Add_Tests ()
  6. {
  7. var escSeqReq = new EscSeqRequests ();
  8. escSeqReq.Add ("t");
  9. Assert.Single (escSeqReq.Statuses);
  10. Assert.Equal ("t", escSeqReq.Statuses [^1].Terminator);
  11. Assert.Equal (1, escSeqReq.Statuses [^1].NumRequests);
  12. Assert.Equal (1, escSeqReq.Statuses [^1].NumOutstanding);
  13. escSeqReq.Add ("t", 2);
  14. Assert.Single (escSeqReq.Statuses);
  15. Assert.Equal ("t", escSeqReq.Statuses [^1].Terminator);
  16. Assert.Equal (1, escSeqReq.Statuses [^1].NumRequests);
  17. Assert.Equal (1, escSeqReq.Statuses [^1].NumOutstanding);
  18. escSeqReq = new EscSeqRequests ();
  19. escSeqReq.Add ("t", 2);
  20. Assert.Single (escSeqReq.Statuses);
  21. Assert.Equal ("t", escSeqReq.Statuses [^1].Terminator);
  22. Assert.Equal (2, escSeqReq.Statuses [^1].NumRequests);
  23. Assert.Equal (2, escSeqReq.Statuses [^1].NumOutstanding);
  24. escSeqReq.Add ("t", 3);
  25. Assert.Single (escSeqReq.Statuses);
  26. Assert.Equal ("t", escSeqReq.Statuses [^1].Terminator);
  27. Assert.Equal (2, escSeqReq.Statuses [^1].NumRequests);
  28. Assert.Equal (2, escSeqReq.Statuses [^1].NumOutstanding);
  29. }
  30. [Fact]
  31. public void Constructor_Defaults ()
  32. {
  33. var escSeqReq = new EscSeqRequests ();
  34. Assert.NotNull (escSeqReq.Statuses);
  35. Assert.Empty (escSeqReq.Statuses);
  36. }
  37. [Fact]
  38. public void Remove_Tests ()
  39. {
  40. var escSeqReq = new EscSeqRequests ();
  41. escSeqReq.Add ("t");
  42. escSeqReq.Remove ("t");
  43. Assert.Empty (escSeqReq.Statuses);
  44. escSeqReq.Add ("t", 2);
  45. escSeqReq.Remove ("t");
  46. Assert.Single (escSeqReq.Statuses);
  47. Assert.Equal ("t", escSeqReq.Statuses [^1].Terminator);
  48. Assert.Equal (2, escSeqReq.Statuses [^1].NumRequests);
  49. Assert.Equal (1, escSeqReq.Statuses [^1].NumOutstanding);
  50. escSeqReq.Remove ("t");
  51. Assert.Empty (escSeqReq.Statuses);
  52. }
  53. [Fact]
  54. public void Requested_Tests ()
  55. {
  56. var escSeqReq = new EscSeqRequests ();
  57. Assert.False (escSeqReq.HasResponse ("t"));
  58. escSeqReq.Add ("t");
  59. Assert.False (escSeqReq.HasResponse ("r"));
  60. Assert.True (escSeqReq.HasResponse ("t"));
  61. }
  62. }