EscSeqReqTests.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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 (new () { Request = "", Terminator = "t" });
  9. Assert.Single (escSeqReq.Statuses);
  10. Assert.Equal ("t", escSeqReq.Statuses.ToArray () [^1].AnsiRequest.Terminator);
  11. escSeqReq.Add (new () { Request = "", Terminator = "t" });
  12. Assert.Equal (2, escSeqReq.Statuses.Count);
  13. Assert.Equal ("t", escSeqReq.Statuses.ToArray () [^1].AnsiRequest.Terminator);
  14. escSeqReq = new ();
  15. escSeqReq.Add (new () { Request = "", Terminator = "t" });
  16. escSeqReq.Add (new () { Request = "", Terminator = "t" });
  17. Assert.Equal (2, escSeqReq.Statuses.Count);
  18. Assert.Equal ("t", escSeqReq.Statuses.ToArray () [^1].AnsiRequest.Terminator);
  19. escSeqReq.Add (new () { Request = "", Terminator = "t" });
  20. Assert.Equal (3, escSeqReq.Statuses.Count);
  21. Assert.Equal ("t", escSeqReq.Statuses.ToArray () [^1].AnsiRequest.Terminator);
  22. }
  23. [Fact]
  24. public void Constructor_Defaults ()
  25. {
  26. var escSeqReq = new EscSeqRequests ();
  27. Assert.NotNull (escSeqReq.Statuses);
  28. Assert.Empty (escSeqReq.Statuses);
  29. }
  30. [Fact]
  31. public void Remove_Tests ()
  32. {
  33. var escSeqReq = new EscSeqRequests ();
  34. escSeqReq.Add (new () { Request = "", Terminator = "t" });
  35. escSeqReq.HasResponse ("t", out EscSeqReqStatus seqReqStatus);
  36. escSeqReq.Remove (seqReqStatus);
  37. Assert.Empty (escSeqReq.Statuses);
  38. escSeqReq.Add (new () { Request = "", Terminator = "t" });
  39. escSeqReq.Add (new () { Request = "", Terminator = "t" });
  40. escSeqReq.HasResponse ("t", out seqReqStatus);
  41. escSeqReq.Remove (seqReqStatus);
  42. Assert.Single (escSeqReq.Statuses);
  43. Assert.Equal ("t", escSeqReq.Statuses.ToArray () [^1].AnsiRequest.Terminator);
  44. escSeqReq.HasResponse ("t", out seqReqStatus);
  45. escSeqReq.Remove (seqReqStatus);
  46. Assert.Empty (escSeqReq.Statuses);
  47. }
  48. [Fact]
  49. public void Requested_Tests ()
  50. {
  51. var escSeqReq = new EscSeqRequests ();
  52. Assert.False (escSeqReq.HasResponse ("t", out EscSeqReqStatus seqReqStatus));
  53. Assert.Null (seqReqStatus);
  54. escSeqReq.Add (new () { Request = "", Terminator = "t" });
  55. Assert.False (escSeqReq.HasResponse ("r", out seqReqStatus));
  56. Assert.Null (seqReqStatus);
  57. Assert.True (escSeqReq.HasResponse ("t", out seqReqStatus));
  58. Assert.NotNull (seqReqStatus);
  59. }
  60. }