|  | 
| 1 |  | -const { binarySearchRecursive, binarySearchIterative } = require('./02-binary-search'); | 
| 2 |  | - | 
| 3 |  | -describe('Binary Search Recursive', () => { | 
| 4 |  | -  let array; | 
| 5 |  | - | 
| 6 |  | -  beforeEach(() => { | 
| 7 |  | -    array = [7, 9, 13, 23]; | 
| 8 |  | -  }); | 
| 9 |  | - | 
| 10 |  | -  it('should find a middle element', () => { | 
| 11 |  | -    expect(binarySearchRecursive(array, 9)).toEqual(1); | 
| 12 |  | -  }); | 
| 13 |  | - | 
| 14 |  | -  it('should find an first element', () => { | 
| 15 |  | -    expect(binarySearchRecursive(array, 7)).toEqual(0); | 
| 16 |  | -  }); | 
| 17 |  | - | 
| 18 |  | -  it('should find the last element', () => { | 
| 19 |  | -    expect(binarySearchRecursive(array, 23)).toEqual(3); | 
| 20 |  | -  }); | 
| 21 |  | - | 
| 22 |  | -  it('should not find an bigger element', () => { | 
| 23 |  | -    expect(binarySearchRecursive(array, 9000)).toEqual(-1); | 
| 24 |  | -  }); | 
| 25 |  | - | 
| 26 |  | -  it('should find a smaller element', () => { | 
| 27 |  | -    expect(binarySearchRecursive(array, -9)).toEqual(-1); | 
| 28 |  | -  }); | 
| 29 |  | -}); | 
| 30 |  | - | 
| 31 |  | -describe('Binary Search Iterative', () => { | 
| 32 |  | -  let array; | 
| 33 |  | - | 
| 34 |  | -  beforeEach(() => { | 
| 35 |  | -    array = [7, 9, 13, 23]; | 
| 36 |  | -  }); | 
| 37 |  | - | 
| 38 |  | -  it('should find a middle element', () => { | 
| 39 |  | -    expect(binarySearchIterative(array, 9)).toEqual(1); | 
| 40 |  | -  }); | 
| 41 |  | - | 
| 42 |  | -  it('should find an first element', () => { | 
| 43 |  | -    expect(binarySearchIterative(array, 7)).toEqual(0); | 
| 44 |  | -  }); | 
| 45 |  | - | 
| 46 |  | -  it('should find the last element', () => { | 
| 47 |  | -    expect(binarySearchIterative(array, 23)).toEqual(3); | 
| 48 |  | -  }); | 
| 49 |  | - | 
| 50 |  | -  it('should not find an bigger element', () => { | 
| 51 |  | -    expect(binarySearchIterative(array, 9000)).toEqual(-1); | 
| 52 |  | -  }); | 
| 53 |  | - | 
| 54 |  | -  it('should find a smaller element', () => { | 
| 55 |  | -    expect(binarySearchIterative(array, -9)).toEqual(-1); | 
|  | 1 | +const { | 
|  | 2 | +  binarySearchRecursive, | 
|  | 3 | +  binarySearchIterative, | 
|  | 4 | +} = require("./02-binary-search"); | 
|  | 5 | + | 
|  | 6 | +const binarySearchImplementations = [ | 
|  | 7 | +  binarySearchRecursive, | 
|  | 8 | +  binarySearchIterative, | 
|  | 9 | +]; | 
|  | 10 | + | 
|  | 11 | +binarySearchImplementations.forEach((binarySearchImpl) => { | 
|  | 12 | +  describe(binarySearchImpl.name, () => { | 
|  | 13 | +    let array; | 
|  | 14 | + | 
|  | 15 | +    beforeEach(() => { | 
|  | 16 | +      array = [7, 9, 13, 23]; | 
|  | 17 | +    }); | 
|  | 18 | + | 
|  | 19 | +    it("should find a middle element", () => { | 
|  | 20 | +      expect(binarySearchImpl(array, 9)).toEqual(1); | 
|  | 21 | +    }); | 
|  | 22 | + | 
|  | 23 | +    it("should find an first element", () => { | 
|  | 24 | +      expect(binarySearchImpl(array, 7)).toEqual(0); | 
|  | 25 | +    }); | 
|  | 26 | + | 
|  | 27 | +    it("should find the last element", () => { | 
|  | 28 | +      expect(binarySearchImpl(array, 23)).toEqual(3); | 
|  | 29 | +    }); | 
|  | 30 | + | 
|  | 31 | +    it("should not find an bigger element", () => { | 
|  | 32 | +      expect(binarySearchImpl(array, 9000)).toEqual(-1); | 
|  | 33 | +    }); | 
|  | 34 | + | 
|  | 35 | +    it("should find a smaller element", () => { | 
|  | 36 | +      expect(binarySearchImpl(array, -9)).toEqual(-1); | 
|  | 37 | +    }); | 
| 56 | 38 |   }); | 
| 57 | 39 | }); | 
0 commit comments