tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

set-size.js (996B)


      1 function testEmpty() {
      2  let set = new Set();
      3  for (let i = 0; i < 100; ++i) {
      4    assertEq(set.size, 0);
      5  }
      6 }
      7 for (let i = 0; i < 2; ++i) testEmpty();
      8 
      9 function testSimple() {
     10  let set = new Set([1, 2, 3, 4]);
     11  for (let i = 0; i < 100; ++i) {
     12    assertEq(set.size, 4);
     13  }
     14 }
     15 for (let i = 0; i < 2; ++i) testSimple();
     16 
     17 function testWithDelete() {
     18  for (let i = 0; i < 100; ++i) {
     19    let a = [1, 2, 3, 4];
     20    let set = new Set(a);
     21    for (let j = 0; j < a.length; ++j) {
     22      assertEq(set.size, a.length - j);
     23      set.delete(a[j]);
     24      assertEq(set.size, a.length - j - 1);
     25    }
     26    assertEq(set.size, 0);
     27  }
     28 }
     29 for (let i = 0; i < 2; ++i) testWithDelete();
     30 
     31 function testWithAdd() {
     32  for (let i = 0; i < 100; ++i) {
     33    let a = [1, 2, 3, 4];
     34    let set = new Set();
     35    for (let j = 0; j < a.length; ++j) {
     36      assertEq(set.size, j);
     37      set.add(a[j]);
     38      assertEq(set.size, j + 1);
     39    }
     40    assertEq(set.size, a.length);
     41  }
     42 }
     43 for (let i = 0; i < 2; ++i) testWithAdd();