text: import { verse, sing } from './twelve-days.js';
  
  describe('TwelveDays', () => {
    test('test verse one', () => {
      const expectedVerseOne =
        'On the first day of Christmas my true love gave to me: a Partridge in a Pear Tree.\n';
      expect(verse(1)).toEqual(expectedVerseOne);
    });
  
    test('test verse two', () => {
      const expectedVerseTwo =
        'On the second day of Christmas my true love gave to me: two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(2)).toEqual(expectedVerseTwo);
    });
  
    test('test verse three', () => {
      const expectedVerseThree =
        'On the third day of Christmas my true love gave to me: three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(3)).toEqual(expectedVerseThree);
    });
  
    test('test verse four', () => {
      const expectedVerseFour =
        'On the fourth day of Christmas my true love gave to me: four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(4)).toEqual(expectedVerseFour);
    });
  
    test('test verse five', () => {
      const expectedVerseFive =
        'On the fifth day of Christmas my true love gave to me: five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(5)).toEqual(expectedVerseFive);
    });
  
    test('test verse six', () => {
      const expectedVerseSix =
        'On the sixth day of Christmas my true love gave to me: six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(6)).toEqual(expectedVerseSix);
    });
  
    test('test verse seven', () => {
      const expectedVerseSeven =
        'On the seventh day of Christmas my true love gave to me: seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(7)).toEqual(expectedVerseSeven);
    });
  
    test('test verse eight', () => {
      const expectedVerseEight =
        'On the eighth day of Christmas my true love gave to me: eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(8)).toEqual(expectedVerseEight);
    });
  
    test('test verse nine', () => {
      const expectedVerseNine =
        'On the ninth day of Christmas my true love gave to me: nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(9)).toEqual(expectedVerseNine);
    });
  
    test('test verse ten', () => {
      const expectedVerseTen =
        'On the tenth day of Christmas my true love gave to me: ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(10)).toEqual(expectedVerseTen);
    });
  
    test('test verse eleven', () => {
      const expectedVerseEleven =
        'On the eleventh day of Christmas my true love gave to me: eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(11)).toEqual(expectedVerseEleven);
    });
  
    test('test verse twelve', () => {
      const expectedVerseTwelve =
        'On the twelfth day of Christmas my true love gave to me: twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(12)).toEqual(expectedVerseTwelve);
    });
  
    test('test multiple verse', () => {
      const expectedVerseOneToThree =
        'On the first day of Christmas my true love gave to me: a Partridge in a Pear Tree.\n\n' +
        'On the second day of Christmas my true love gave to me: two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the third day of Christmas my true love gave to me: three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(verse(1, 3)).toEqual(expectedVerseOneToThree);
    });
  
    test('test sing whole song', () => {
      const expectedSong =
        'On the first day of Christmas my true love gave to me: a Partridge in a Pear Tree.\n\n' +
        'On the second day of Christmas my true love gave to me: two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the third day of Christmas my true love gave to me: three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the fourth day of Christmas my true love gave to me: four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the fifth day of Christmas my true love gave to me: five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the sixth day of Christmas my true love gave to me: six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the seventh day of Christmas my true love gave to me: seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the eighth day of Christmas my true love gave to me: eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the ninth day of Christmas my true love gave to me: nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the tenth day of Christmas my true love gave to me: ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the eleventh day of Christmas my true love gave to me: eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n\n' +
        'On the twelfth day of Christmas my true love gave to me: twelve Drummers Drumming, eleven Pipers Piping, ten Lords-a-Leaping, nine Ladies Dancing, eight Maids-a-Milking, seven Swans-a-Swimming, six Geese-a-Laying, five Gold Rings, four Calling Birds, three French Hens, two Turtle Doves, and a Partridge in a Pear Tree.\n';
      expect(sing()).toEqual(expectedSong);
    });
  });
  