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); }
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); }
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); }
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); }