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.

115 lines
2.8 KiB

  1. //Imports
  2. const uno = require('../js/uno');
  3. const Card = require('../js/cards/Card');
  4. const ChooseColor = require('../js/cards/special/ChooseColor');
  5. const Skip = require('../js/cards/special/Skip');
  6. const Reverse = require('../js/cards/special/Reverse');
  7. const PlusAmount = require('../js/cards/special/PlusAmount');
  8. //Instanz CARD_COLORS aus uno.js
  9. const CARD_COLORS = uno.CARD_COLORS;
  10. //Testet das Erstellen einer Karte
  11. describe('Karten erstellen', () => {
  12. let card;
  13. it('6 - Blau', () => {
  14. //Erstellen einer normalen Karte:
  15. // Name: 6, Farbe: Blau
  16. card = new Card('6', CARD_COLORS[1]);
  17. //Testet das Erstellen der Karte
  18. testCreatedCard(card, '6', "BLUE");
  19. });
  20. it('8 - Grün', () => {
  21. //Erstellen einer normalen Karte:
  22. // Name: 6, Farbe: Blau
  23. card = new Card('8', CARD_COLORS[2]);
  24. //Testet das Erstellen der Karte
  25. testCreatedCard(card, '8', "GREEN");
  26. });
  27. it('ChooseColor', () => {
  28. //Erstellen einer +2 Karte:
  29. //Name: CC, Farbe: keine
  30. card = new ChooseColor('CC');
  31. //Testet das Erstellen der Karte
  32. testCreatedCard(card, 'CC', "NONE");
  33. });
  34. it('Skip - Gelb', () => {
  35. //Erstellen einer Skip Karte:
  36. //Name: Skip, Farbe: gelb
  37. card = new Skip('S', CARD_COLORS[4]);
  38. //Testet das Erstellen der Karte
  39. testCreatedCard(card, 'S', "YELLOW");
  40. });
  41. it('Reverse - Grün', () => {
  42. //Erstellen einer Reverse Karte:
  43. //Name: Reverse, Farbe: grün
  44. card = new Reverse('R', CARD_COLORS[2]);
  45. //Testet das Erstellen der Karte
  46. testCreatedCard(card, 'R', "GREEN");
  47. });
  48. it('+4', () => {
  49. //Erstellen einer +4 Karte:
  50. //Name: +4, Farbe: keine
  51. card = new PlusAmount('+4');
  52. //Testet das Erstellen der Karte
  53. testCreatedCard(card, '+4', "NONE");
  54. //PlusAmount muss 4 sein
  55. expect(card.plus).toBe(4);
  56. });
  57. it('+2 - Rot', () => {
  58. //Erstellen einer +2 Karte:
  59. //Name: +2, Farbe: Rot
  60. card = new PlusAmount('+2', CARD_COLORS[3]);
  61. //Testet das Erstellen der Karte
  62. testCreatedCard(card, '+2', "RED");
  63. //PlusAmount muss 2 sein
  64. expect(card.plus).toBe(2);
  65. });
  66. });
  67. //Testet eine Karte auf die Eigenschaften von Card.js
  68. function testCreatedCard(card, number, card_colors){
  69. //Wenn Karte erstellt, wird Sie noch nicht auf dem Bildschirm abgebildet
  70. expect(card.onScreen).toBe(false);
  71. //Wenn Karte erstellt, kann sie noch nicht gesetzt werden
  72. expect(card.canPut).toBe(false);
  73. //Name der Karte muss der übergebene Name sein
  74. expect(card.name).toBe(number);
  75. //Farbe der Karte muss die übergebene Farbe sein
  76. expect(card.color).toBe(card_colors);
  77. }