2
0

CountdownEventTest_Dispose_NotSet.cs 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. using System;
  2. using Microsoft.VisualStudio.TestTools.UnitTesting;
  3. using System.Threading;
  4. namespace Renci.SshNet.Tests.Classes.Common
  5. {
  6. [TestClass]
  7. public class CountdownEventTest_Dispose_NotSet
  8. {
  9. private int _signalsRequired;
  10. private CountdownEvent _countdownEvent;
  11. [TestInitialize]
  12. public void Initialize()
  13. {
  14. Arrange();
  15. Act();
  16. }
  17. private void Arrange()
  18. {
  19. _signalsRequired = new Random().Next(1, 20);
  20. _countdownEvent = new CountdownEvent(_signalsRequired);
  21. }
  22. private void Act()
  23. {
  24. _countdownEvent.Dispose();
  25. }
  26. [TestMethod]
  27. public void AddCount_ShouldThrowObjectDisposedException()
  28. {
  29. try
  30. {
  31. _countdownEvent.AddCount();
  32. Assert.Fail();
  33. }
  34. catch (ObjectDisposedException)
  35. {
  36. }
  37. }
  38. [TestMethod]
  39. public void CurrentCount_ShouldReturnRemainingSignalsRequiredToSetEvent()
  40. {
  41. var actual = _countdownEvent.CurrentCount;
  42. Assert.AreEqual(_signalsRequired, actual);
  43. }
  44. [TestMethod]
  45. public void Dispose_ShouldNotThrow()
  46. {
  47. _countdownEvent.Dispose();
  48. }
  49. [TestMethod]
  50. public void IsSet_ShouldReturnFalse()
  51. {
  52. var actual = _countdownEvent.IsSet;
  53. Assert.IsFalse(actual);
  54. }
  55. [TestMethod]
  56. public void Signal_ShouldThrowObjectDisposedException()
  57. {
  58. try
  59. {
  60. var set = _countdownEvent.Signal();
  61. Assert.Fail("Should have thrown ObjectDisposedException, but returned: " + set);
  62. }
  63. catch (ObjectDisposedException)
  64. {
  65. }
  66. }
  67. [TestMethod]
  68. public void Wait_TimeSpan_ShouldThrowObjectDisposedException()
  69. {
  70. try
  71. {
  72. var set = _countdownEvent.Wait(TimeSpan.FromSeconds(5));
  73. Assert.Fail("Should have thrown ObjectDisposedException, but returned: " + set);
  74. }
  75. catch (ObjectDisposedException)
  76. {
  77. }
  78. }
  79. [TestMethod]
  80. public void WaitHandle_ShouldThrowObjectDisposedException()
  81. {
  82. try
  83. {
  84. var waitHandle = _countdownEvent.WaitHandle;
  85. Assert.Fail("Should have thrown ObjectDisposedException, but returned: " + waitHandle);
  86. }
  87. catch (ObjectDisposedException)
  88. {
  89. }
  90. }
  91. }
  92. }