Skip to content
Snippets Groups Projects
Select Git revision
  • issue-703
  • master default
  • issue-752
  • develop
  • issue-677
  • issue-677-original-with-migrate
  • issue-716
  • issue-654
  • issue-732
  • issue-737
  • issue-735
  • issue-707
  • issue-706
  • issue-705
  • issue-696
  • issue-690
  • issue-675
  • issue-670
  • issue-635
  • issue-404
  • 7.19
  • 2012-04-18
  • 2012-04-03
  • 2012-04-02
  • 2012-03-01
  • 2012-02-07
  • 20120207
  • 2012-01-13
  • 2012-01-12
  • 2011-12-16
  • 2011-12-05
  • 2011-11-17
  • 2011-11-14
  • 2011-11-08.2
  • 2011-11-08
  • 2011-11-01
  • 2011-10-27
  • 2011-10-06
  • 2011-10-03
  • 2011-09-19
40 results

graph.inc

Blame
  • Forked from UNL Information Services / UNL-CMS
    Source project has a limited visibility.
    multipleRemoval.test.js 25.39 KiB
    import { BinarySearchTree } from './binarySearchTree.js';
    
    describe('removal', () => {
      test('ignores the repeats in removal sequence #0', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #1', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #2', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #3', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #4', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #5', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #6', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #7', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #8', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #9', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #10', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #11', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #12', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #13', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #14', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #15', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #16', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #17', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #18', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #19', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #20', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #21', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #22', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #23', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #24', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #25', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #26', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #27', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #28', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #29', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #30', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #31', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #32', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #33', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #34', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #35', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #36', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #37', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #38', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #39', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #40', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #41', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #42', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #43', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #44', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #45', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #46', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #47', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #48', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #49', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #50', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #51', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #52', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #53', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #54', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #55', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(0);
        expect(tree.toList()).toEqual([2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #56', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #57', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #58', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #59', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #60', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #61', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #62', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #63', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #64', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #65', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #66', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #67', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(2);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #68', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
        tree.delete(2);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #69', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #70', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(0);
        expect(tree.toList()).toEqual([1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([]);
      });
      test('ignores the repeats in removal sequence #71', () => {
        const tree = new BinarySearchTree([0, 1, 2]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(2);
        expect(tree.toList()).toEqual([0, 1]);
        tree.delete(1);
        expect(tree.toList()).toEqual([0]);
        tree.delete(0);
        expect(tree.toList()).toEqual([]);
      });
    });