ForwardedPortStatusTest_Stopping.cs 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. using System;
  2. #if SILVERLIGHT
  3. using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;
  4. #else
  5. using Microsoft.VisualStudio.TestTools.UnitTesting;
  6. #endif
  7. namespace Renci.SshNet.Tests
  8. {
  9. [TestClass]
  10. public class ForwardedPortStatusTest_Stopping
  11. {
  12. [TestMethod]
  13. public void ToStopping_ShouldReturnFalseAndNotChangeStatus()
  14. {
  15. var status = ForwardedPortStatus.Stopping;
  16. var actual = ForwardedPortStatus.ToStopping(ref status);
  17. Assert.IsFalse(actual);
  18. Assert.AreEqual(ForwardedPortStatus.Stopping, status);
  19. }
  20. [TestMethod]
  21. public void ToStarting_ShouldThrowInvalidOperationExceptionAndNotChangeStatus()
  22. {
  23. var status = ForwardedPortStatus.Stopping;
  24. try
  25. {
  26. ForwardedPortStatus.ToStarting(ref status);
  27. Assert.Fail();
  28. }
  29. catch (InvalidOperationException ex)
  30. {
  31. Assert.IsNull(ex.InnerException);
  32. Assert.AreEqual(
  33. string.Format("Forwarded port cannot transition from '{0}' to '{1}'.",
  34. ForwardedPortStatus.Stopping,
  35. ForwardedPortStatus.Starting),
  36. ex.Message);
  37. }
  38. Assert.AreEqual(ForwardedPortStatus.Stopping, status);
  39. }
  40. [TestMethod]
  41. public void Equals_ShouldReturnFalseWhenOtherIsNull()
  42. {
  43. const ForwardedPortStatus other = null;
  44. var actual = ForwardedPortStatus.Stopping.Equals(other);
  45. Assert.IsFalse(actual);
  46. }
  47. [TestMethod]
  48. public void Equals_ShouldReturnFalseWhenOtherIsNotInstanceOfForwardedPortStatus()
  49. {
  50. var other = new object();
  51. var actual = ForwardedPortStatus.Stopping.Equals(other);
  52. Assert.IsFalse(actual);
  53. }
  54. [TestMethod]
  55. public void Equals_ShouldReturnFalseWhenOtherIsStopped()
  56. {
  57. var other = ForwardedPortStatus.Stopped;
  58. var actual = ForwardedPortStatus.Stopping.Equals(other);
  59. Assert.IsFalse(actual);
  60. }
  61. [TestMethod]
  62. public void Equals_ShouldReturnTrueWhenOtherIsStopping()
  63. {
  64. var other = ForwardedPortStatus.Stopping;
  65. var actual = ForwardedPortStatus.Stopping.Equals(other);
  66. Assert.IsTrue(actual);
  67. }
  68. [TestMethod]
  69. public void Equals_ShouldReturnFalseWhenOtherIsStarted()
  70. {
  71. var other = ForwardedPortStatus.Started;
  72. var actual = ForwardedPortStatus.Stopping.Equals(other);
  73. Assert.IsFalse(actual);
  74. }
  75. [TestMethod]
  76. public void Equals_ShouldReturnFalseWhenOtherIsStarting()
  77. {
  78. var other = ForwardedPortStatus.Starting;
  79. var actual = ForwardedPortStatus.Stopping.Equals(other);
  80. Assert.IsFalse(actual);
  81. }
  82. [TestMethod]
  83. public void EqualityOperator_ShouldReturnFalseWhenRightIsNull()
  84. {
  85. var left = ForwardedPortStatus.Stopping;
  86. const ForwardedPortStatus right = null;
  87. var actual = left == right;
  88. Assert.IsFalse(actual);
  89. }
  90. [TestMethod]
  91. public void EqualityOperator_ShouldReturnFalseWhenLeftIsNull()
  92. {
  93. const ForwardedPortStatus left = null;
  94. var right = ForwardedPortStatus.Stopping;
  95. var actual = left == right;
  96. Assert.IsFalse(actual);
  97. }
  98. [TestMethod]
  99. public void EqualityOperator_ShouldReturnFalseWhenLeftIsStoppingAndRightIsStopped()
  100. {
  101. var left = ForwardedPortStatus.Stopping;
  102. var right = ForwardedPortStatus.Stopped;
  103. var actual = left == right;
  104. Assert.IsFalse(actual);
  105. }
  106. [TestMethod]
  107. public void EqualityOperator_ShouldReturnTrueWhenLeftIsStoppingAndRightIsStopping()
  108. {
  109. var left = ForwardedPortStatus.Stopping;
  110. var right = ForwardedPortStatus.Stopping;
  111. var actual = left == right;
  112. Assert.IsTrue(actual);
  113. }
  114. [TestMethod]
  115. public void EqualityOperator_ShouldReturnFalseWhenLeftIsStoppingAndRightIsStarted()
  116. {
  117. var left = ForwardedPortStatus.Stopping;
  118. var right = ForwardedPortStatus.Started;
  119. var actual = left == right;
  120. Assert.IsFalse(actual);
  121. }
  122. [TestMethod]
  123. public void EqualityOperator_ShouldReturnFalseWhenLeftIsStoppingAndRightIsStarting()
  124. {
  125. var left = ForwardedPortStatus.Stopping;
  126. var right = ForwardedPortStatus.Starting;
  127. var actual = left == right;
  128. Assert.IsFalse(actual);
  129. }
  130. [TestMethod]
  131. public void InEqualityOperator_ShouldReturnTrueWhenRightIsNull()
  132. {
  133. var left = ForwardedPortStatus.Stopping;
  134. const ForwardedPortStatus right = null;
  135. var actual = left != right;
  136. Assert.IsTrue(actual);
  137. }
  138. [TestMethod]
  139. public void InEqualityOperator_ShouldReturnTrueWhenLeftIsNull()
  140. {
  141. const ForwardedPortStatus left = null;
  142. var right = ForwardedPortStatus.Stopping;
  143. var actual = left != right;
  144. Assert.IsTrue(actual);
  145. }
  146. [TestMethod]
  147. public void InEqualityOperator_ShouldReturnTrueWhenLeftIsStoppingAndRightIsStopped()
  148. {
  149. var left = ForwardedPortStatus.Stopping;
  150. var right = ForwardedPortStatus.Stopped;
  151. var actual = left != right;
  152. Assert.IsTrue(actual);
  153. }
  154. [TestMethod]
  155. public void InEqualityOperator_ShouldReturnFalseWhenLeftIsStoppingAndRightIsStopping()
  156. {
  157. var left = ForwardedPortStatus.Stopping;
  158. var right = ForwardedPortStatus.Stopping;
  159. var actual = left != right;
  160. Assert.IsFalse(actual);
  161. }
  162. [TestMethod]
  163. public void InEqualityOperator_ShouldReturnTrueWhenLeftIsStoppingAndRightIsStarted()
  164. {
  165. var left = ForwardedPortStatus.Stopping;
  166. var right = ForwardedPortStatus.Started;
  167. var actual = left != right;
  168. Assert.IsTrue(actual);
  169. }
  170. [TestMethod]
  171. public void InEqualityOperator_ShouldReturnTrueWhenLeftIsStoppingAndRightIsStarting()
  172. {
  173. var left = ForwardedPortStatus.Stopping;
  174. var right = ForwardedPortStatus.Starting;
  175. var actual = left != right;
  176. Assert.IsTrue(actual);
  177. }
  178. [TestMethod]
  179. public void GetHashCodeShouldReturnTwo()
  180. {
  181. var actual = ForwardedPortStatus.Stopping.GetHashCode();
  182. Assert.AreEqual(2, actual);
  183. }
  184. [TestMethod]
  185. public void ToStringShouldReturnStopping()
  186. {
  187. var actual = ForwardedPortStatus.Stopping.ToString();
  188. Assert.AreEqual("Stopping", actual);
  189. }
  190. }
  191. }