public void ParticleRateLargerMaxBurstRunsOnce(int milliseconds) { var dt = TimeSpan.FromMilliseconds(milliseconds); var totalCreated = 0; var totalInvoke = 0; var emitter = new SKConfettiEmitter(100, 200, 0); emitter.ParticlesCreated += count => { totalCreated += count; totalInvoke++; }; emitter.Update(dt); Assert.Equal(100, totalCreated); Assert.Equal(1, totalInvoke); Assert.True(emitter.IsComplete); emitter.Update(dt); Assert.Equal(100, totalCreated); Assert.Equal(1, totalInvoke); Assert.True(emitter.IsComplete); }
public void ParticleRateNoMaxOneMin(int milliseconds, int expectedCreated, int expectedCreated2, bool complete, bool complete2) { var dt = TimeSpan.FromMilliseconds(milliseconds); var totalCreated = 0; var totalInvoke = 0; var emitter = new SKConfettiEmitter(100, -1, 1.0); emitter.ParticlesCreated += count => { totalCreated += count; totalInvoke++; }; emitter.Update(dt); Assert.Equal(expectedCreated, totalCreated); Assert.Equal(1, totalInvoke); Assert.Equal(complete, emitter.IsComplete); emitter.Update(dt); Assert.Equal(expectedCreated2, totalCreated); if (complete) { Assert.Equal(1, totalInvoke); } else { Assert.Equal(2, totalInvoke); } Assert.Equal(complete2, emitter.IsComplete); }