Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. function canAppear(enemy, environment) {
  2. return Boolean(
  3. (environment.isSunny && !enemy.isVampire) ||
  4. (environment.isRainy && enemy.hasWaterResistantArmor) ||
  5. enemy.hasntAppearedInAnHour
  6. );
  7. }
  8.  
  9. describe(canAppear, () => {
  10. let enemy = {};
  11. let environment = {};
  12.  
  13. describe('when it is sunny', () => {
  14. beforeEach(() => {
  15. environment.isSunny = true;
  16. });
  17.  
  18. describe('and the enemy is a vampire', () => {
  19. beforeEach(() => {
  20. enemy.isVampire = true;
  21. });
  22.  
  23. it('is false', () => {
  24. expect(canAppear(enemy, environment)).toEqual(false);
  25. });
  26.  
  27. describe('and the enemy has not appeared in an hour', () => {
  28. beforeEach(() => {
  29. enemy.hasntAppearedInAnHour = true;
  30. });
  31.  
  32. it('is true', () => {
  33. expect(canAppear(enemy, environment)).toEqual(true);
  34. });
  35. });
  36. });
  37.  
  38. describe('and the enemy is not a vampire', () => {
  39. beforeEach(() => {
  40. enemy.isVampire = false;
  41. });
  42.  
  43. it('is true', () => {
  44. expect(canAppear(enemy, environment)).toEqual(true);
  45. });
  46.  
  47. describe('and the enemy has not appeared in an hour', () => {
  48. beforeEach(() => {
  49. enemy.hasntAppearedInAnHour = true;
  50. });
  51.  
  52. it('is true', () => {
  53. expect(canAppear(enemy, environment)).toEqual(true);
  54. });
  55. });
  56. });
  57. });
  58. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement