//Imports const uno = require('../js/uno'); const Card = require('../js/cards/Card'); const ChooseColor = require('../js/cards/special/ChooseColor'); const Skip = require('../js/cards/special/Skip'); const Reverse = require('../js/cards/special/Reverse'); const PlusAmount = require('../js/cards/special/PlusAmount'); //Instanz CARD_COLORS aus uno.js const CARD_COLORS = uno.CARD_COLORS; //Testet das Erstellen einer Karte describe('Karten erstellen', () => { let card; it('6 - Blau', () => { //Erstellen einer normalen Karte: // Name: 6, Farbe: Blau card = new Card('6', CARD_COLORS[1]); //Testet das Erstellen der Karte testCreatedCard(card, '6', "BLUE"); }); it('8 - Grün', () => { //Erstellen einer normalen Karte: // Name: 6, Farbe: Blau card = new Card('8', CARD_COLORS[2]); //Testet das Erstellen der Karte testCreatedCard(card, '8', "GREEN"); }); it('ChooseColor', () => { //Erstellen einer +2 Karte: //Name: CC, Farbe: keine card = new ChooseColor('CC'); //Testet das Erstellen der Karte testCreatedCard(card, 'CC', "NONE"); }); it('Skip - Gelb', () => { //Erstellen einer Skip Karte: //Name: Skip, Farbe: gelb card = new Skip('S', CARD_COLORS[4]); //Testet das Erstellen der Karte testCreatedCard(card, 'S', "YELLOW"); }); it('Reverse - Grün', () => { //Erstellen einer Reverse Karte: //Name: Reverse, Farbe: grün card = new Reverse('R', CARD_COLORS[2]); //Testet das Erstellen der Karte testCreatedCard(card, 'R', "GREEN"); }); it('+4', () => { //Erstellen einer +4 Karte: //Name: +4, Farbe: keine card = new PlusAmount('+4'); //Testet das Erstellen der Karte testCreatedCard(card, '+4', "NONE"); //PlusAmount muss 4 sein expect(card.plus).toBe(4); }); it('+2 - Rot', () => { //Erstellen einer +2 Karte: //Name: +2, Farbe: Rot card = new PlusAmount('+2', CARD_COLORS[3]); //Testet das Erstellen der Karte testCreatedCard(card, '+2', "RED"); //PlusAmount muss 2 sein expect(card.plus).toBe(2); }); }); //Testet eine Karte auf die Eigenschaften von Card.js function testCreatedCard(card, number, card_colors){ //Wenn Karte erstellt, wird Sie noch nicht auf dem Bildschirm abgebildet expect(card.onScreen).toBe(false); //Wenn Karte erstellt, kann sie noch nicht gesetzt werden expect(card.canPut).toBe(false); //Name der Karte muss der übergebene Name sein expect(card.name).toBe(number); //Farbe der Karte muss die übergebene Farbe sein expect(card.color).toBe(card_colors); }