diff --git a/completed_exercises/weave/test.js b/completed_exercises/weave/test.js index f173360f29..753a0bfc57 100644 --- a/completed_exercises/weave/test.js +++ b/completed_exercises/weave/test.js @@ -43,3 +43,43 @@ test('weave can combine two queues', () => { expect(result.remove()).toEqual('four'); expect(result.remove()).toBeUndefined(); }); + +test('weave handles when first queue has more elements', () => { + const one = new Queue(); + one.add(1); + one.add(2); + one.add(3); + one.add(4); + const two = new Queue(); + two.add('one'); + two.add('two'); + + const result = weave(one, two); + expect(result.remove()).toEqual(1); + expect(result.remove()).toEqual('one'); + expect(result.remove()).toEqual(2); + expect(result.remove()).toEqual('two'); + expect(result.remove()).toEqual(3); + expect(result.remove()).toEqual(4); + expect(result.remove()).toBeUndefined(); +}); + +test('weave handles when second queue has more elements', () => { + const one = new Queue(); + one.add(1); + one.add(2); + const two = new Queue(); + two.add('one'); + two.add('two'); + two.add('three'); + two.add('four'); + + const result = weave(one, two); + expect(result.remove()).toEqual(1); + expect(result.remove()).toEqual('one'); + expect(result.remove()).toEqual(2); + expect(result.remove()).toEqual('two'); + expect(result.remove()).toEqual('three'); + expect(result.remove()).toEqual('four'); + expect(result.remove()).toBeUndefined(); +}); diff --git a/exercises/weave/test.js b/exercises/weave/test.js index f173360f29..753a0bfc57 100644 --- a/exercises/weave/test.js +++ b/exercises/weave/test.js @@ -43,3 +43,43 @@ test('weave can combine two queues', () => { expect(result.remove()).toEqual('four'); expect(result.remove()).toBeUndefined(); }); + +test('weave handles when first queue has more elements', () => { + const one = new Queue(); + one.add(1); + one.add(2); + one.add(3); + one.add(4); + const two = new Queue(); + two.add('one'); + two.add('two'); + + const result = weave(one, two); + expect(result.remove()).toEqual(1); + expect(result.remove()).toEqual('one'); + expect(result.remove()).toEqual(2); + expect(result.remove()).toEqual('two'); + expect(result.remove()).toEqual(3); + expect(result.remove()).toEqual(4); + expect(result.remove()).toBeUndefined(); +}); + +test('weave handles when second queue has more elements', () => { + const one = new Queue(); + one.add(1); + one.add(2); + const two = new Queue(); + two.add('one'); + two.add('two'); + two.add('three'); + two.add('four'); + + const result = weave(one, two); + expect(result.remove()).toEqual(1); + expect(result.remove()).toEqual('one'); + expect(result.remove()).toEqual(2); + expect(result.remove()).toEqual('two'); + expect(result.remove()).toEqual('three'); + expect(result.remove()).toEqual('four'); + expect(result.remove()).toBeUndefined(); +});