public void ReboundPositionTest()
        {
            PassablePowerupStrategy strategy = new PassablePowerupStrategy();
            Vector2 vector = new Vector2(10, 10);
            Ball    b      = Ball.CreateBall(0, BallType.Normal, vector, 10, vector, 10);
            Paddle  p      = new NormalPaddle(10, PaddleDataFactory.GetPaddleData(PaddleType.Normal));

            Obstacles.Obstacle obstacle = new Obstacles.Obstacle(10, 10, 10, 5, 5);
            Vector2            result   = strategy.ReboundPosition(b, vector, p, obstacle);

            Assert.AreEqual(vector, result);
        }
 public void ReboundDirectionTest()
 {
     Assert.ThrowsException <System.NullReferenceException>(() =>
     {
         PassablePowerupStrategy strategy = new PassablePowerupStrategy();
         Vector2 vector = new Vector2(10, 10);
         Ball b         = Ball.CreateBall(0, BallType.Normal, vector, 10, vector, 10);
         Paddle p       = new NormalPaddle(10, PaddleDataFactory.GetPaddleData(PaddleType.Normal));
         Obstacles.Obstacle obstacle = new Obstacles.Obstacle(10, 10, 10, 5, 5);
         Vector2 result = strategy.ReboundDirection(b, vector, p, obstacle);
     });
 }