Example #1
0
		public void BounceOnRightSideToMoveLeft()
		{
			var paddle = Resolve<Paddle>();
			var ball = new TestBall(paddle) { CurrentVelocity = new Vector2D(0.5f, 0f) };
			Assert.AreEqual(new Vector2D(0.5f, 0f), ball.CurrentVelocity);
			ball.SetPosition(new Vector2D(1, 0.5f));
			AdvanceTimeAndUpdateEntities(0.01f);
			Assert.AreEqual(new Vector2D(-0.5f, 0f), ball.CurrentVelocity);
		}
Example #2
0
        public void BounceOnTopSideToMoveDown()
        {
            var paddle = Resolve <Paddle>();
            var ball   = new TestBall(paddle)
            {
                CurrentVelocity = new Vector2D(-0.5f, -0.5f)
            };

            ball.SetPosition(new Vector2D(0.5f, 0));
            AdvanceTimeAndUpdateEntities(0.01f);
            Assert.AreEqual(new Vector2D(-0.5f, 0.5f), ball.CurrentVelocity);
        }
Example #3
0
        public void BounceOnBottomSideToLoseBall()
        {
            var paddle = Resolve <Paddle>();
            var ball   = new TestBall(paddle)
            {
                CurrentVelocity = new Vector2D(-0.5f, 0.5f)
            };

            ball.SetPosition(new Vector2D(0.5f, 1.0f));
            Assert.IsFalse(ball.IsCurrentlyOnPaddle);
            AdvanceTimeAndUpdateEntities(0.01f);
            Assert.IsTrue(ball.IsCurrentlyOnPaddle);
            Assert.AreEqual(Vector2D.Zero, ball.CurrentVelocity);
        }
Example #4
0
		public void BounceOnBottomSideToLoseBall()
		{
			var paddle = Resolve<Paddle>();
			var ball = new TestBall(paddle) { CurrentVelocity = new Vector2D(-0.5f, 0.5f) };
			ball.SetPosition(new Vector2D(0.5f, 1.0f));
			Assert.IsFalse(ball.IsCurrentlyOnPaddle);
			AdvanceTimeAndUpdateEntities(0.01f);
			Assert.IsTrue(ball.IsCurrentlyOnPaddle);
			Assert.AreEqual(Vector2D.Zero, ball.CurrentVelocity);
		}