text: /**
   * @generated-from ./$starts-with-subseq.test.js
   * This file is autogenerated from a template. Please do not edit it directly.
   * To rebuild it from its template use the command
   * > npm run generate
   * More information can be found in CONTRIBUTING.md
   */
  
  /* eslint-disable no-unused-vars,import/no-duplicates */
  
  import { asyncStartsWithSubseq, range } from '../../..';
  describe('asyncStartsWithSubseq', () => {
    it('returns true if the iterable starts with the given subsequence', async () => {
      expect(await asyncStartsWithSubseq([1, 2], range(1, 10))).toBe(true);
    });
    it('returns false if the iterable contains but does not start with the given subsequence', async () => {
      expect(await asyncStartsWithSubseq([1, 2], range(0, 10))).toBe(false);
    });
    it('returns true if the iterable equals given subsequence', async () => {
      expect(await asyncStartsWithSubseq(range(1, 3), range(1, 3))).toBe(true);
    });
    it('returns true if the given subsequence is empty', async () => {
      expect(await asyncStartsWithSubseq(null, range(1, 3))).toBe(true);
    });
    it('returns false if subsequence is longer than the iterable', async () => {
      expect(await asyncStartsWithSubseq(range(1, 4), range(1, 3))).toBe(false);
    });
    describe('when the iterable is empty', () => {
      it('returns true if the subsequence is empty', async () => {
        expect(await asyncStartsWithSubseq([], [])).toBe(true);
      });
      it('returns false if the subsequence is not empty', async () => {
        expect(await asyncStartsWithSubseq([undefined], [])).toBe(false);
      });
    });
  });
  