Пример #1
0
        public void add(Particle particle, IParticleForceGenerator forceGenerator)
        {
            ParticleForceRegistration registration = new ParticleForceRegistration();

            registration.particle       = particle;
            registration.forceGenerator = forceGenerator;
            registrations.Add(registration);
        }
Пример #2
0
        public void add(Particle particle, ParticleForceGenerator fg)
        {
            ParticleForceRegistration registration = new ParticleForceRegistration();

            registration.particle = particle;
            registration.fg       = fg;
            registrations.Add(registration);
        }
Пример #3
0
        public void remove(Particle particle, ParticleForceGenerator fg)
        {
            if (this.registrations.Count > 0)
            {
                ParticleForceRegistration _registration = null;
                foreach (var registration in this.registrations)
                {
                    if (registration.particle == particle && registration.fg == fg)
                    {
                        _registration = registration;
                        break;
                    }
                }

                if (_registration != null)
                {
                    this.registrations.Remove(_registration);
                }
            }
        }
Пример #4
0
		public void UpdateForces_TheParticleForceRegistryUpdatesTheForcesOfAllItemsInItsRegistry()
		{
			var forceRegistry = new ParticleForceRegistry();
			var mockParticles = new List<Mock<IParticle>>();
			var mockGenerators = new List<Mock<IParticleForceGenerator>>();

			for ( var i = 0; i < 3; i++)
			{
				var mockParticle = new Mock<IParticle>(MockBehavior.Strict);
				var mockGenerator = new Mock<IParticleForceGenerator>(MockBehavior.Strict);
				mockGenerator.Setup(g => g.UpdateForce(mockParticle.Object, Duration));

				mockParticles.Add(mockParticle);
				mockGenerators.Add(mockGenerator);

				var registration = new ParticleForceRegistration
				{
					Generator = mockGenerator.Object,
					Particle = mockParticle.Object
				};

				forceRegistry.Add(registration);
			}

			forceRegistry.UpdateForces(1.5);

			Assert.AreEqual(3, forceRegistry.Count);
			foreach (var particle in mockParticles)
			{
				particle.VerifyAll();
			}

			foreach (var generator in mockGenerators)
			{
				generator.VerifyAll();
			}
		}
Пример #5
0
        public void UpdateForces_TheParticleForceRegistryUpdatesTheForcesOfAllItemsInItsRegistry()
        {
            var forceRegistry  = new ParticleForceRegistry();
            var mockParticles  = new List <Mock <IParticle> >();
            var mockGenerators = new List <Mock <IParticleForceGenerator> >();

            for (var i = 0; i < 3; i++)
            {
                var mockParticle  = new Mock <IParticle>(MockBehavior.Strict);
                var mockGenerator = new Mock <IParticleForceGenerator>(MockBehavior.Strict);
                mockGenerator.Setup(g => g.UpdateForce(mockParticle.Object, Duration));

                mockParticles.Add(mockParticle);
                mockGenerators.Add(mockGenerator);

                var registration = new ParticleForceRegistration
                {
                    Generator = mockGenerator.Object,
                    Particle  = mockParticle.Object
                };

                forceRegistry.Add(registration);
            }

            forceRegistry.UpdateForces(1.5);

            Assert.AreEqual(3, forceRegistry.Count);
            foreach (var particle in mockParticles)
            {
                particle.VerifyAll();
            }

            foreach (var generator in mockGenerators)
            {
                generator.VerifyAll();
            }
        }