18 lines
619 B
JavaScript
18 lines
619 B
JavaScript
var assert = require ('assert');
|
|
|
|
describe ('Power of Two', function () {
|
|
it ('IsPowerOfTwo', function () {
|
|
assert (OV.IsPowerOfTwo (1));
|
|
assert (OV.IsPowerOfTwo (2));
|
|
assert (!OV.IsPowerOfTwo (3));
|
|
for (let i = 4; i <= 1024; i *= 2) {
|
|
assert (OV.IsPowerOfTwo (i));
|
|
assert (!OV.IsPowerOfTwo (i + 1));
|
|
assert (!OV.IsPowerOfTwo (i - 1));
|
|
assert.strictEqual (OV.NextPowerOfTwo (i), i);
|
|
assert.strictEqual (OV.NextPowerOfTwo (i - 1), i);
|
|
assert.strictEqual (OV.NextPowerOfTwo (i + 1), i * 2);
|
|
}
|
|
});
|
|
});
|