Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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);
        }