mirror of
https://github.com/SamEyeBam/animate.git
synced 2025-09-28 06:55:25 +00:00
larry babby and threejs for glsl
This commit is contained in:
110
webGl/my-threejs-test/node_modules/@parcel/graph/test/BitSet.test.js
generated
vendored
Normal file
110
webGl/my-threejs-test/node_modules/@parcel/graph/test/BitSet.test.js
generated
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
// @flow strict-local
|
||||
|
||||
import assert from 'assert';
|
||||
import {BitSet} from '../src/BitSet';
|
||||
|
||||
function assertValues(set: BitSet, values: Array<number>) {
|
||||
let setValues = [];
|
||||
set.forEach(bit => {
|
||||
setValues.push(bit);
|
||||
});
|
||||
|
||||
for (let value of values) {
|
||||
assert(set.has(value), 'Set.has returned false');
|
||||
assert(
|
||||
setValues.some(v => v === value),
|
||||
'Set values is missing value',
|
||||
);
|
||||
}
|
||||
|
||||
assert(
|
||||
setValues.length === values.length,
|
||||
`Expected ${values.length} values but got ${setValues.length}`,
|
||||
);
|
||||
}
|
||||
|
||||
describe('BitSet', () => {
|
||||
it('clone should return a set with the same values', () => {
|
||||
let set1 = new BitSet(5);
|
||||
set1.add(1);
|
||||
set1.add(3);
|
||||
|
||||
let set2 = set1.clone();
|
||||
|
||||
assertValues(set2, [1, 3]);
|
||||
});
|
||||
|
||||
it('clear should remove all values from the set', () => {
|
||||
let set1 = new BitSet(5);
|
||||
set1.add(1);
|
||||
set1.add(3);
|
||||
|
||||
set1.clear();
|
||||
|
||||
assertValues(set1, []);
|
||||
});
|
||||
|
||||
it('delete should remove values from the set', () => {
|
||||
let set1 = new BitSet(5);
|
||||
set1.add(1);
|
||||
set1.add(3);
|
||||
set1.add(5);
|
||||
|
||||
set1.delete(3);
|
||||
|
||||
assertValues(set1, [1, 5]);
|
||||
});
|
||||
|
||||
it('empty should check if there are no values set', () => {
|
||||
let set1 = new BitSet(5);
|
||||
|
||||
assert(set1.empty());
|
||||
|
||||
set1.add(3);
|
||||
assert(!set1.empty());
|
||||
|
||||
set1.delete(3);
|
||||
assert(set1.empty());
|
||||
});
|
||||
|
||||
it('should intersect with another BitSet', () => {
|
||||
let set1 = new BitSet(5);
|
||||
set1.add(1);
|
||||
set1.add(3);
|
||||
|
||||
let set2 = new BitSet(5);
|
||||
set2.add(3);
|
||||
set2.add(5);
|
||||
|
||||
set1.intersect(set2);
|
||||
assertValues(set1, [3]);
|
||||
});
|
||||
|
||||
it('should union with another BitSet', () => {
|
||||
let set1 = new BitSet(5);
|
||||
set1.add(1);
|
||||
set1.add(3);
|
||||
|
||||
let set2 = new BitSet(5);
|
||||
set2.add(3);
|
||||
set2.add(5);
|
||||
|
||||
set1.union(set2);
|
||||
assertValues(set1, [1, 3, 5]);
|
||||
});
|
||||
|
||||
it('BitSet.union should create a new BitSet with the union', () => {
|
||||
let set1 = new BitSet(5);
|
||||
set1.add(1);
|
||||
set1.add(3);
|
||||
|
||||
let set2 = new BitSet(5);
|
||||
set2.add(3);
|
||||
set2.add(5);
|
||||
|
||||
let set3 = BitSet.union(set1, set2);
|
||||
assertValues(set1, [1, 3]);
|
||||
assertValues(set2, [3, 5]);
|
||||
assertValues(set3, [1, 3, 5]);
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user