Cleanup tests.

Moved service_node_test to assert to keep consistency.
pull/125/head
Mikunj 6 years ago
parent f9147663d5
commit 4eda13733a

@ -8,7 +8,8 @@ const {
greaterThan, greaterThan,
} = pow; } = pow;
describe('Proof of Work Worker', () => { describe('Proof of Work', () => {
describe('#incrementNonce', () => {
it('should increment a Uint8Array nonce correctly', () => { it('should increment a Uint8Array nonce correctly', () => {
const arr1Before = new Uint8Array([0,0,0,0,0,0,0,0]); const arr1Before = new Uint8Array([0,0,0,0,0,0,0,0]);
const arr1After = incrementNonce(arr1Before); const arr1After = incrementNonce(arr1Before);
@ -22,7 +23,7 @@ describe('Proof of Work Worker', () => {
assert.strictEqual(arr1After[7], 1); assert.strictEqual(arr1After[7], 1);
}); });
it('should increment a Uint8Array nonce correctly', () => { it('should increment a Uint8Array nonce correctly in a loop', () => {
let arr = new Uint8Array([0,0,0,0,0,0,0,0]); let arr = new Uint8Array([0,0,0,0,0,0,0,0]);
assert.deepEqual(incrementNonce(arr), new Uint8Array([0,0,0,0,0,0,0,1])); assert.deepEqual(incrementNonce(arr), new Uint8Array([0,0,0,0,0,0,0,1]));
arr = new Uint8Array([0,0,0,0,0,0,0,0]); arr = new Uint8Array([0,0,0,0,0,0,0,0]);
@ -33,7 +34,9 @@ describe('Proof of Work Worker', () => {
arr = new Uint8Array([255,255,255,255,255,255,255,255]); arr = new Uint8Array([255,255,255,255,255,255,255,255]);
assert.deepEqual(incrementNonce(arr), new Uint8Array([0,0,0,0,0,0,0,0])); assert.deepEqual(incrementNonce(arr), new Uint8Array([0,0,0,0,0,0,0,0]));
}); });
});
describe('#calcTarget', () => {
it('should calculate a correct difficulty target', () => { it('should calculate a correct difficulty target', () => {
// These values will need to be updated if we adjust the difficulty settings // These values will need to be updated if we adjust the difficulty settings
let payloadLen = 625; let payloadLen = 625;
@ -47,7 +50,9 @@ describe('Proof of Work Worker', () => {
actualTarget = calcTarget(ttl, payloadLen, 10); actualTarget = calcTarget(ttl, payloadLen, 10);
assert.deepEqual(actualTarget, expectedTarget); assert.deepEqual(actualTarget, expectedTarget);
}); });
});
describe('#greaterThan', () => {
it('should correclty compare two Uint8Arrays', () => { it('should correclty compare two Uint8Arrays', () => {
let arr1 = new Uint8Array([0,0,0,0,0,0,0,0,0,1]); let arr1 = new Uint8Array([0,0,0,0,0,0,0,0,0,1]);
let arr2 = new Uint8Array([0,0,0,0,0,0,0,0,0,1]); let arr2 = new Uint8Array([0,0,0,0,0,0,0,0,0,1]);
@ -65,7 +70,9 @@ describe('Proof of Work Worker', () => {
arr2 = new Uint8Array([0,0]); arr2 = new Uint8Array([0,0]);
assert.isFalse(greaterThan(arr1, arr2)) assert.isFalse(greaterThan(arr1, arr2))
}); });
});
describe('#bufferToBase64', () => {
it('should correclty convert a Uint8Array to a base64 string', () => { it('should correclty convert a Uint8Array to a base64 string', () => {
let arr = new Uint8Array([1,2,3]); let arr = new Uint8Array([1,2,3]);
let expected = 'AQID'; let expected = 'AQID';
@ -77,7 +84,9 @@ describe('Proof of Work Worker', () => {
expected = ''; expected = '';
assert.strictEqual(bufferToBase64(arr), expected); assert.strictEqual(bufferToBase64(arr), expected);
}); });
});
describe('#bigIntToUint8Array', () => {
it('should correclty convert a BigInteger to a Uint8Array', () => { it('should correclty convert a BigInteger to a Uint8Array', () => {
let bigInt = JSBI.BigInt(Number.MAX_SAFE_INTEGER); let bigInt = JSBI.BigInt(Number.MAX_SAFE_INTEGER);
let expected = new Uint8Array([0, 31, 255, 255, 255, 255, 255, 255]); let expected = new Uint8Array([0, 31, 255, 255, 255, 255, 255, 255]);
@ -92,4 +101,5 @@ describe('Proof of Work Worker', () => {
expected = new Uint8Array([0, 0, 0, 0, 0, 0, 1, 0]); expected = new Uint8Array([0, 0, 0, 0, 0, 0, 1, 0]);
assert.deepEqual(bigIntToUint8Array(bigInt), expected); assert.deepEqual(bigIntToUint8Array(bigInt), expected);
}); });
});
}); });

@ -1,40 +1,50 @@
/* global libloki, chai */ /* global libloki, assert */
describe('ServiceNodes', () => { describe('ServiceNodes', () => {
describe('#consolidateLists', () => { describe('#consolidateLists', () => {
it('should throw when provided a non-iterable list', () => { it('should throw when provided a non-iterable list', () => {
chai.expect(() => libloki.serviceNodes.consolidateLists(null, 1)).to.throw(); assert.throws(() => libloki.serviceNodes.consolidateLists(null, 1), Error);
}); });
it('should throw when provided a non-iterable item in the list', () => { it('should throw when provided a non-iterable item in the list', () => {
chai.expect(() => libloki.serviceNodes.consolidateLists([1, 2, 3], 1)).to.throw(); assert.throws(() => libloki.serviceNodes.consolidateLists([1, 2, 3], 1), Error);
}); });
it('should throw when provided a non-number threshold', () => { it('should throw when provided a non-number threshold', () => {
chai.expect(() => libloki.serviceNodes.consolidateLists([], 'a')).to.throw(); assert.throws(
() => libloki.serviceNodes.consolidateLists([], 'a'),
'Provided threshold is not a number'
);
}); });
it('should return an empty array when the input is an empty array', () => { it('should return an empty array when the input is an empty array', () => {
const result = libloki.serviceNodes.consolidateLists([]); const result = libloki.serviceNodes.consolidateLists([]);
chai.expect(result).to.deep.equal([]); assert.deepEqual(result, []);
}); });
it('should return the input when only 1 list is provided', () => { it('should return the input when only 1 list is provided', () => {
const result = libloki.serviceNodes.consolidateLists([['a', 'b', 'c']]); const result = libloki.serviceNodes.consolidateLists([['a', 'b', 'c']]);
chai.expect(result).to.deep.equal(['a', 'b', 'c']); assert.deepEqual(result, ['a', 'b', 'c']);
}); });
it('should return the union of all lists when threshold is 0', () => { it('should return the union of all lists when threshold is 0', () => {
const result = libloki.serviceNodes.consolidateLists([ const result = libloki.serviceNodes.consolidateLists([
['a', 'b', 'c', 'h'], ['a', 'b', 'c', 'h'],
['d', 'e', 'f', 'g'], ['d', 'e', 'f', 'g'],
['g', 'h'], ['g', 'h'],
], 0); ], 0);
chai.expect(result.sort()).to.deep.equal(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']); assert.deepEqual(result.sort(), ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']);
}); });
it('should return the intersection of all lists when threshold is 1', () => { it('should return the intersection of all lists when threshold is 1', () => {
const result = libloki.serviceNodes.consolidateLists([ const result = libloki.serviceNodes.consolidateLists([
['a', 'b', 'c', 'd'], ['a', 'b', 'c', 'd'],
['a', 'e', 'f', 'g'], ['a', 'e', 'f', 'g'],
['a', 'h'], ['a', 'h'],
], 1); ], 1);
chai.expect(result).to.deep.equal(['a']); assert.deepEqual(result, ['a']);
}); });
it('should return the elements that have an occurence >= the provided threshold', () => { it('should return the elements that have an occurence >= the provided threshold', () => {
const result = libloki.serviceNodes.consolidateLists([ const result = libloki.serviceNodes.consolidateLists([
['a', 'b', 'c', 'd', 'e', 'f', 'g'], ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
@ -42,8 +52,9 @@ describe('ServiceNodes', () => {
['a', 'b', 'c', 'd', 'e', 'f', 'g'], ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
['a', 'b', 'c', 'd', 'e', 'g', 'h'], ['a', 'b', 'c', 'd', 'e', 'g', 'h'],
], 3/4); ], 3/4);
chai.expect(result).to.deep.equal(['a', 'b', 'c', 'd', 'e', 'f', 'g']); assert.deepEqual(result, ['a', 'b', 'c', 'd', 'e', 'f', 'g']);
}); });
it('should work with sets as well', () => { it('should work with sets as well', () => {
const result = libloki.serviceNodes.consolidateLists(new Set([ const result = libloki.serviceNodes.consolidateLists(new Set([
new Set(['a', 'b', 'c', 'd', 'e', 'f', 'g']), new Set(['a', 'b', 'c', 'd', 'e', 'f', 'g']),
@ -51,7 +62,7 @@ describe('ServiceNodes', () => {
new Set(['a', 'b', 'c', 'd', 'e', 'f', 'g']), new Set(['a', 'b', 'c', 'd', 'e', 'f', 'g']),
new Set(['a', 'b', 'c', 'd', 'e', 'g', 'h']), new Set(['a', 'b', 'c', 'd', 'e', 'g', 'h']),
]), 3/4); ]), 3/4);
chai.expect(result).to.deep.equal(['a', 'b', 'c', 'd', 'e', 'f', 'g']); assert.deepEqual(result, ['a', 'b', 'c', 'd', 'e', 'f', 'g']);
}); });
}); });
}); });

Loading…
Cancel
Save