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();