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