From 190808ed5e33d5c444d4d32ae4283ec2d8eb06bf Mon Sep 17 00:00:00 2001 From: Nicolas Fritz Date: Wed, 18 Jan 2023 21:16:01 +0100 Subject: [PATCH] =?UTF-8?q?SpielerDeck=20hinzugef=C3=BCgt=20+=20UnitTest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- uno/js/Player.js | 6 ++++++ uno/tests/test_Player.test.js | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) 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