public async Task StepAsync() { var propagator = new PropagateManager(PropagateManager.DefaultNeighborsGetter); var merger = new MergeManager(); var absorber = new AbsorptionManager(AbsorptionManager.DefaultAbsorbtion); var context = new WaterContext(Maps["plato"], propagator, merger, absorber); for (var i = 0; i < 10; i++) { await context.StepAsync(); } }
public void AbsorbTest() { var initialMass = 1.0; var manager = new AbsorptionManager(); var drops = new Dictionary <WaterDrop, PointInt> { { new WaterDrop(initialMass), new PointInt(0, 0) } }; var newDrops = manager.Absorb(_map, drops); Assert.True(1.0 > newDrops.First().Key.Mass); }