public async Task PropagateTestAsync(string type, int x, int y, int expectedCount) { var propagator = new PropagateManager(PropagateManager.DefaultNeighborsGetter); var drops = new Dictionary <WaterDrop, PointInt> { { new WaterDrop(0.1), new PointInt(x, y) } }; var newDrops = await propagator.PropagateAsync(_maps[type], drops); Assert.Equal(expectedCount, newDrops.Count); }
public async Task PropagateAsyncCancelTest() { var propagator = new PropagateManager(PropagateManager.DefaultNeighborsGetter); var drops = new Dictionary <WaterDrop, PointInt> { { new WaterDrop(0.1), new PointInt(2, 2) } }; var cts = new CancellationTokenSource(); cts.Cancel(); await Assert.ThrowsAnyAsync <OperationCanceledException>(() => propagator.PropagateAsync(_maps["plato"], drops, cts.Token)); }