diff --git a/uno/js/Player.js b/uno/js/Player.js index 6cae6a8..51c98b3 100644 --- a/uno/js/Player.js +++ b/uno/js/Player.js @@ -6,6 +6,7 @@ class Player { this._name = name; //Name des Spielers this._turn = false; //Ob Spieler gerade am Zug + this._hand = []; this._canPlay = false //Ob spieler gerade Karte legen kann } @@ -25,6 +26,11 @@ class Player { return this._canPlay; } + //Gibt das SpielerDeck zurück + get hand(){ + return this._hand; + } + } //Exportiert Modul Player diff --git a/uno/tests/test_Player.test.js b/uno/tests/test_Player.test.js index c91f089..f817b56 100644 --- a/uno/tests/test_Player.test.js +++ b/uno/tests/test_Player.test.js @@ -1,5 +1,10 @@ //Imports const Player = require('../js/Player'); +const Card = require("../js/cards/Card"); +const uno = require("../js/uno"); + +//Instanz CARD_COLORS aus uno.js +const CARD_COLORS = uno.CARD_COLORS; //Testet das Erstellen eines Spielers describe('Spieler erstellen', () => { @@ -27,4 +32,22 @@ describe('Spieler erstellen', () => { expect(player.canPlay).toBe(false); }); + //Testet ob der Spieler bei Erstellung keine Karte in der Hand hat + it('keine Karten auf der Hand', () => { + expect(player.hand.length).toBe(0); + }); + + //Testet ob der Spieler eine Karte auf der Hand haben kann + it('hat bestimmte Karte in der Hand', () => { + + let card = new Card(9, CARD_COLORS[2]); + + player.hand.push(card); + expect(player.hand[0]).toEqual(card); + + player.hand.splice(0, 1); + expect(player.hand.length).toBe(0); + + }); + }); \ No newline at end of file