import { Game } from '../../game'; import { processBrickCollision } from './processBrickCollision'; describe('processBrickCollision', () => { it('Возвращает корректное значение при неверных типах аргументов', () => { const game = new Game([[[1]]]); expect(processBrickCollision(null, game.ball)).toBeNull(); expect(processBrickCollision(game, null)).toBeNull(); }); it('Возвращает креектное значение если мяч не касается кирпичей', () => { const game = new Game([[[1]]]); game.ball.x = 5; game.ball.y = 500; expect(processBrickCollision(game, game.ball)).toBe(false); }); it('При столкновении разрушает кирпич и меняет направление мяча', () => { const game = new Game([[[1]]]); const brick = game.bricks[0]; game.ball.x = brick.x + game.ball.radius + 1; game.ball.y = brick.y + brick.height + game.ball.radius + 1; game.ball.horizontalSpeed = 0; game.ball.verticalSpeed = -10; game.ball.moveForward(1); expect(processBrickCollision(game, game.ball)).toBe(true); expect(brick.alive).toBe(false); expect(game.ball.verticalSpeed).toBe(10); }); });