public void PropagateTest(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 = propagator.Propagate(_maps[type], drops); Assert.Equal(expectedCount, newDrops.Count); }
public void PropagateToPitSpeedTest() { var propagator = new PropagateManager(PropagateManager.DefaultNeighborsGetter); var drops = new Dictionary <WaterDrop, PointInt> { { new WaterDrop(0.1), new PointInt(1, 2) } }; var newDrop = propagator.Propagate(_maps["pit"], drops).Single().Key; Assert.True(newDrop.Speed.Length > 0); Assert.True(Vector.IsCollinear(newDrop.Speed, new Vector(1, 0))); }