Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- import data.Repositories;
- import data.util.MySqlConnection;
- import domain.BCrypt;
- import domain.User;
- import game.GameState;
- import java.sql.SQLException;
- import org.junit.After;
- import org.junit.AfterClass;
- import org.junit.Before;
- import org.junit.BeforeClass;
- import org.junit.Test;
- import static org.junit.Assert.*;
- import utils.AdminException;
- import java.sql.Connection;
- import models.Ball;
- import models.Brick;
- import models.Color;
- import models.Player;
- import models.powers.KeyboardInverter;
- import models.powers.Power;
- import models.powers.Resizer;
- import models.powers.ScoreMultiplier;
- /**
- *
- * @author nicokrekelberg
- */
- public class TestBreakout {
- public TestBreakout() {
- }
- @Test
- public void testConnection() throws SQLException {
- try (Connection con = MySqlConnection.getConnection();) {
- } catch (AdminException ex) {
- fail("Failed to make connection");
- }
- }
- @Test
- public void testBCryptCorrect(){
- String username = "test";
- String password = "passwordtest";
- String hash = BCrypt.hashpw(password, BCrypt.gensalt(10));
- User registered = new User(username, hash);
- User login = new User("test", "passwordtest");
- if (BCrypt.checkpw(login.getPassword(), registered.getPassword())) {
- assertTrue(true);
- } else {
- assertFalse(true);
- }
- }
- @Test
- public void testBCryptIncorrect(){
- String username = "test";
- String password = "passwordtest";
- String hash = BCrypt.hashpw(password, BCrypt.gensalt(10));
- User registered = new User(username, hash);
- User login = new User("test", "incorrectpassword");
- if (BCrypt.checkpw(login.getPassword(), registered.getPassword())) {
- assertFalse(true);
- } else {
- assertTrue(true);
- }
- }
- @Test
- public void testKeyboardInverter(){
- GameState game = new GameState(600, 500);
- Power p = new KeyboardInverter(600, 500);
- p.activate(game);
- assertEquals(game.getKeyboard().getLeft(), 68);
- assertEquals(game.getKeyboard().getRight(), 81);
- assertEquals(game.getKeyboard().getLefttwo(), 39);
- assertEquals(game.getKeyboard().getRighttwo(), 37);
- p.disable(game);
- assertEquals(game.getKeyboard().getLeft(), 81);
- assertEquals(game.getKeyboard().getRight(), 68);
- assertEquals(game.getKeyboard().getLefttwo(), 37);
- assertEquals(game.getKeyboard().getRighttwo(), 39);
- }
- @Test
- public void testPlayerResizer(){
- GameState game = new GameState(600,500);
- game.addPlayer(new Player(0.50, 0.90, 0.2, 0.01, "rgba(255, 255, 0, .5)"));
- double beforeResizer = game.getPlayers().get(0).getW(); // 0.2
- Power p = new Resizer(600, 500, 2);
- p.activate(game); // 0.2 * 2
- assertEquals(beforeResizer * 2, game.getPlayers().get(0).getW(), 0);
- p.disable(game);
- assertEquals(beforeResizer, game.getPlayers().get(0).getW(), 0);
- }
- @Test
- public void testScoreMultiplier(){
- Brick b = new Brick(0.05, new Color(0, 255, 0), 1000, 1, 1, 3, 0); //worth 1000 points
- GameState game = new GameState(600,500);
- b.onDeath(game); // TotalPoints = 0 + 1000 = 1000
- assertEquals(1000, game.getTotalPoints());
- Power p = new ScoreMultiplier(600, 500, 2);
- p.activate(game);
- b.onDeath(game);// TotalPoints = 1000 + (1000 * 2) = 3000
- assertEquals(3000, game.getTotalPoints());
- p.disable(game);
- b.onDeath(game);// Totalpoints = 3000 + 1000
- assertEquals(4000, game.getTotalPoints());
- }
- @Test
- public void testStackPowers(){
- Brick b = new Brick(0.05, new Color(0, 255, 0), 1000, 1, 1, 3, 0); //worth 1000 points
- GameState game = new GameState(600,500);
- game.addPlayer(new Player(0.50, 0.90, 0.2, 0.01, "rgba(255, 255, 0, .5)"));
- double beforeResizer = game.getPlayers().get(0).getW(); // 0.2
- b.onDeath(game); // TotalPoints = 0 + 1000 = 1000
- assertEquals(1000, game.getTotalPoints());
- Power p = new ScoreMultiplier(600, 500, 2);
- p.activate(game);
- b.onDeath(game); // TotalPoints = 1000 + (1000 * 2) = 3000
- assertEquals(3000, game.getTotalPoints());
- assertEquals(beforeResizer, 0.2, 0);// not resized
- p = new Resizer(600, 500, 2);
- p.activate(game); // Do resizer: 0.4
- b.onDeath(game); // Should still do scoreMultiplier = 3000 + (1000 * 2)
- assertEquals(5000, game.getTotalPoints());
- assertEquals(beforeResizer * 2, game.getPlayers().get(0).getW(), 0);
- }
- @Test
- public void testBaller(){
- GameState game = new GameState(600,500);
- Player player = new Player(0.50, 0.90, 0.2, 0.01, "rgba(255, 255, 0, .5)");
- game.addPlayer(player);
- Ball ball = new Ball(game.getPlayers().get(0).getCenterPointX(), game.getPlayers().get(0).getCenterPointY() - (game.getPlayers().get(0).getH() / 2), 0.01, "rgba(127, 255, 212, .5)");
- for(int i = 0; i<10;i++){
- assertEquals(game.getBalls().size(), i);
- game.addBall(ball);
- assertEquals(game.getBalls().size(), i+1);
- }
- }
- @Test
- public void TestLostABall(){
- GameState game = new GameState(600,500);
- Player player = new Player(0.50, 0.90, 0.2, -5, "rgba(255, 255, 0, .5)");
- game.addPlayer(player);
- Ball ball = new Ball(0.9, 2, 0.01, "rgba(127, 255, 212, .5)");
- game.addBall(ball);
- assertEquals(game.getBalls().size(), 1);
- ball.move(game);
- if (ball.dead) {
- game.getBalls().remove(0);
- if (game.getBalls().size() == 0 && game.getLives() == 0) {
- game.setAllive(false);
- }
- }
- assertEquals(game.getBalls().size(), 0);
- }
- @Test
- public void TestLoseTenBalls(){
- GameState game = new GameState(600,500);
- Player player = new Player(0.50, 0.90, 0.2, -5, "rgba(255, 255, 0, .5)");
- game.addPlayer(player);
- Ball ball = new Ball(0.9, 2, 0.01, "rgba(127, 255, 212, .5)");
- for(int i = 0; i<10; i++){
- game.addBall(ball);
- }
- assertEquals(game.getBalls().size(), 10);
- ball.move(game);
- for(int i = 0; i<10; i++){
- if (ball.dead) {
- game.getBalls().remove(0);
- if (game.getBalls().size() == 0 && game.getLives() == 0) {
- game.setAllive(false);
- }
- }
- }
- assertEquals(game.getBalls().size(), 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement