|
41 | 41 | using NUnit.Framework;
|
42 | 42 |
|
43 | 43 | using System;
|
44 |
| -using System.IO; |
45 |
| -using System.Collections; |
46 | 44 | using System.Threading;
|
47 | 45 |
|
48 | 46 | using RabbitMQ.Util;
|
@@ -94,85 +92,101 @@ public void TestSetBeforeGet()
|
94 | 92 | }
|
95 | 93 |
|
96 | 94 | [Test]
|
97 |
| - public void TestTimeoutShort() |
| 95 | + public void TestGetValueWhichDoesNotTimeOut() |
98 | 96 | {
|
99 | 97 | BlockingCell k = new BlockingCell();
|
100 | 98 | k.Value = 123;
|
101 | 99 |
|
102 | 100 | ResetTimer();
|
103 |
| - object v; |
104 |
| - bool r = k.GetValue(TimingInterval, out v); |
| 101 | + var v = k.GetValue(TimingInterval); |
105 | 102 | Assert.Greater(SafetyMargin, ElapsedMs());
|
106 |
| - Assert.IsTrue(r); |
107 | 103 | Assert.AreEqual(123, v);
|
108 | 104 | }
|
109 | 105 |
|
110 | 106 | [Test]
|
111 |
| - public void TestTimeoutLong() |
| 107 | + public void TestGetValueWhichDoesTimeOut() |
112 | 108 | {
|
113 | 109 | BlockingCell k = new BlockingCell();
|
| 110 | + ResetTimer(); |
| 111 | + Assert.Throws<TimeoutException>(() => k.GetValue(TimingInterval)); |
| 112 | + } |
| 113 | + |
| 114 | + [Test] |
| 115 | + public void TestGetValueWhichDoesTimeOutWithTimeSpan() |
| 116 | + { |
| 117 | + BlockingCell k = new BlockingCell(); |
| 118 | + ResetTimer(); |
| 119 | + Assert.Throws<TimeoutException>(() => k.GetValue(TimeSpan.FromMilliseconds(TimingInterval))); |
| 120 | + } |
| 121 | + |
| 122 | + [Test] |
| 123 | + public void TestGetValueWithTimeoutInfinite() |
| 124 | + { |
| 125 | + BlockingCell k = new BlockingCell(); |
| 126 | + SetAfter(TimingInterval, k, 123); |
| 127 | + |
| 128 | + ResetTimer(); |
| 129 | + var v = k.GetValue(Timeout.Infinite); |
| 130 | + Assert.Less(TimingInterval - SafetyMargin, ElapsedMs()); |
| 131 | + Assert.AreEqual(123, v); |
| 132 | + } |
| 133 | + |
| 134 | + [Test] |
| 135 | + public void TestBackgroundUpdateSucceeds() |
| 136 | + { |
| 137 | + BlockingCell k = new BlockingCell(); |
| 138 | + SetAfter(TimingInterval, k, 123); |
114 | 139 |
|
115 | 140 | ResetTimer();
|
116 |
| - object v; |
117 |
| - bool r = k.GetValue(TimingInterval, out v); |
| 141 | + var v = k.GetValue(TimingInterval * 2); |
118 | 142 | Assert.Less(TimingInterval - SafetyMargin, ElapsedMs());
|
119 |
| - Assert.IsTrue(!r); |
120 |
| - Assert.AreEqual(null, v); |
| 143 | + Assert.AreEqual(123, v); |
121 | 144 | }
|
122 | 145 |
|
123 | 146 | [Test]
|
124 |
| - public void TestTimeoutNegative() |
| 147 | + public void TestBackgroundUpdateSucceedsWithTimeSpan() |
125 | 148 | {
|
126 | 149 | BlockingCell k = new BlockingCell();
|
| 150 | + SetAfter(TimingInterval, k, 123); |
127 | 151 |
|
128 | 152 | ResetTimer();
|
129 |
| - object v; |
130 |
| - bool r = k.GetValue(-10000, out v); |
131 |
| - Assert.Greater(SafetyMargin, ElapsedMs()); |
132 |
| - Assert.IsTrue(!r); |
133 |
| - Assert.AreEqual(null, v); |
| 153 | + var v = k.GetValue(TimeSpan.FromMilliseconds(TimingInterval * 2)); |
| 154 | + Assert.Less(TimingInterval - SafetyMargin, ElapsedMs()); |
| 155 | + Assert.AreEqual(123, v); |
134 | 156 | }
|
135 | 157 |
|
136 | 158 | [Test]
|
137 |
| - public void TestTimeoutInfinite() |
| 159 | + public void TestBackgroundUpdateSucceedsWithInfiniteTimeout() |
138 | 160 | {
|
139 | 161 | BlockingCell k = new BlockingCell();
|
140 | 162 | SetAfter(TimingInterval, k, 123);
|
141 | 163 |
|
142 | 164 | ResetTimer();
|
143 |
| - object v; |
144 |
| - bool r = k.GetValue(Timeout.Infinite, out v); |
| 165 | + var v = k.GetValue(Timeout.Infinite); |
145 | 166 | Assert.Less(TimingInterval - SafetyMargin, ElapsedMs());
|
146 |
| - Assert.IsTrue(r); |
147 | 167 | Assert.AreEqual(123, v);
|
148 | 168 | }
|
149 | 169 |
|
150 | 170 | [Test]
|
151 |
| - public void TestBgShort() |
| 171 | + public void TestBackgroundUpdateSucceedsWithInfiniteTimeoutTimeSpan() |
152 | 172 | {
|
153 | 173 | BlockingCell k = new BlockingCell();
|
154 | 174 | SetAfter(TimingInterval, k, 123);
|
155 | 175 |
|
156 | 176 | ResetTimer();
|
157 |
| - object v; |
158 |
| - bool r = k.GetValue(TimingInterval * 2, out v); |
| 177 | + var v = k.GetValue(Timeout.InfiniteTimeSpan); |
159 | 178 | Assert.Less(TimingInterval - SafetyMargin, ElapsedMs());
|
160 |
| - Assert.IsTrue(r); |
161 | 179 | Assert.AreEqual(123, v);
|
162 | 180 | }
|
163 | 181 |
|
164 | 182 | [Test]
|
165 |
| - public void TestBgLong() |
| 183 | + public void TestBackgroundUpdateFails() |
166 | 184 | {
|
167 | 185 | BlockingCell k = new BlockingCell();
|
168 | 186 | SetAfter(TimingInterval * 2, k, 123);
|
169 | 187 |
|
170 | 188 | ResetTimer();
|
171 |
| - object v; |
172 |
| - bool r = k.GetValue(TimingInterval, out v); |
173 |
| - Assert.Greater(TimingInterval + SafetyMargin, ElapsedMs()); |
174 |
| - Assert.IsTrue(!r); |
175 |
| - Assert.AreEqual(null, v); |
| 189 | + Assert.Throws<TimeoutException>(() => k.GetValue(TimingInterval)); |
176 | 190 | }
|
177 | 191 | }
|
178 | 192 | }
|
0 commit comments