You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

116 lines
2.8 KiB

//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);
}