|
1 | | -using System; |
2 | 1 | using NUnit.Framework; |
3 | 2 |
|
4 | 3 | namespace Unity.Netcode.EditorTests |
@@ -105,7 +104,6 @@ public void OutOfOrderShouldStillWork() |
105 | 104 | Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(2f).Within(k_Precision)); |
106 | 105 | } |
107 | 106 |
|
108 | | - [Ignore("TODO: Fix this test to still handle testing message loss without extrapolation. This is tracked in MTT-11338")] |
109 | 107 | [Test] |
110 | 108 | public void MessageLoss() |
111 | 109 | { |
@@ -144,45 +142,7 @@ public void MessageLoss() |
144 | 142 | serverTime += timeStep; // t = 3 |
145 | 143 | interpolator.UpdateInternal((float)timeStep, serverTime); |
146 | 144 | Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(2f)); |
147 | | - |
148 | | - // extrapolating to 2.5 |
149 | | - serverTime += timeStep; // t = 3.5d |
150 | | - interpolator.UpdateInternal((float)timeStep, serverTime); |
151 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(2.5f)); |
152 | | - |
153 | | - // next value skips to where it was supposed to be once buffer time is showing the next value |
154 | | - serverTime += timeStep; // t = 4 |
155 | | - interpolator.UpdateInternal((float)timeStep, serverTime); |
156 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(3f)); |
157 | | - |
158 | | - // interpolation continues as expected |
159 | | - serverTime += timeStep; // t = 4.5 |
160 | | - interpolator.UpdateInternal((float)timeStep, serverTime); |
161 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(3.5f)); |
162 | | - |
163 | | - serverTime += timeStep; // t = 5 |
164 | | - interpolator.UpdateInternal((float)timeStep, serverTime); |
165 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(4f)); |
166 | | - |
167 | | - // lost time=6, extrapolating |
168 | | - serverTime += timeStep; // t = 5.5 |
169 | | - interpolator.UpdateInternal((float)timeStep, serverTime); |
170 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(4.5f)); |
171 | | - |
172 | | - serverTime += timeStep; // t = 6.0 |
173 | | - interpolator.UpdateInternal((float)timeStep, serverTime); |
174 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(5f)); |
175 | | - |
176 | | - // misprediction |
177 | | - serverTime += timeStep; // t = 6.5 |
178 | | - interpolator.UpdateInternal((float)timeStep, serverTime); |
179 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.EqualTo(5.5f)); |
180 | | - |
181 | | - // lerp to right value |
182 | | - serverTime += timeStep; // t = 7.0 |
183 | | - interpolator.UpdateInternal((float)timeStep, serverTime); |
184 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.GreaterThan(6.0f)); |
185 | | - Assert.That(interpolator.GetInterpolatedValue(), Is.LessThanOrEqualTo(100f)); |
| 145 | + // Since there is no extrapolation, the rest of this test was removed. |
186 | 146 | } |
187 | 147 |
|
188 | 148 | [Test] |
@@ -302,11 +262,10 @@ public void TestUpdatingInterpolatorWithNoData() |
302 | 262 | { |
303 | 263 | var interpolator = new BufferedLinearInterpolatorFloat(); |
304 | 264 | var serverTime = new NetworkTime(k_MockTickRate, 0.0d); |
305 | | - // invalid case, this is undefined behaviour |
306 | | - Assert.Throws<InvalidOperationException>(() => interpolator.UpdateInternal(1f, serverTime)); |
| 265 | + var interpolatedValue = interpolator.UpdateInternal(1f, serverTime); |
| 266 | + Assert.IsTrue(interpolatedValue == 0.0f, $"Expected the result to be 0.0f but was {interpolatedValue}!"); |
307 | 267 | } |
308 | 268 |
|
309 | | - [Ignore("TODO: Fix this test to still test duplicated values without extrapolation. This is tracked in MTT-11338")] |
310 | 269 | [Test] |
311 | 270 | public void TestDuplicatedValues() |
312 | 271 | { |
@@ -340,22 +299,7 @@ public void TestDuplicatedValues() |
340 | 299 | serverTime += 0.5d; // t = 3 |
341 | 300 | interp = interpolator.UpdateInternal(0.5f, serverTime); |
342 | 301 | Assert.That(interp, Is.EqualTo(2f)); |
343 | | - |
344 | | - // with unclamped interpolation, we continue mispredicting since the two last values are actually treated as the same. Therefore we're not stopping at "2" |
345 | | - serverTime += 0.5d; // t = 3.5 |
346 | | - interp = interpolator.UpdateInternal(0.5f, serverTime); |
347 | | - Assert.That(interp, Is.EqualTo(2.5f)); |
348 | | - |
349 | | - serverTime += 0.5d; // t = 4 |
350 | | - interp = interpolator.UpdateInternal(0.5f, serverTime); |
351 | | - Assert.That(interp, Is.EqualTo(3f)); |
352 | | - |
353 | | - // we add a measurement with an updated time |
354 | | - var pastServerTime = new NetworkTime(k_MockTickRate, 3.0d); |
355 | | - interpolator.AddMeasurement(2f, pastServerTime.Time); |
356 | | - |
357 | | - interp = interpolator.UpdateInternal(0.5f, serverTime); |
358 | | - Assert.That(interp, Is.EqualTo(2f)); |
| 302 | + // Since there is no extrapolation, the rest of this test was removed. |
359 | 303 | } |
360 | 304 | } |
361 | 305 | } |
0 commit comments