Skip to content

Commit 0148d40

Browse files
committed
add unit tests for UInt31 and BIP32Path
1 parent ec17b06 commit 0148d40

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

test/types.spec.ts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,41 @@ describe('types', () => {
5454
});
5555
});
5656
});
57+
58+
describe('UInt31', () => {
59+
const UINT31_MAX = Math.pow(2, 31) - 1;
60+
it('return true for valid values', () => {
61+
assert.strictEqual(types.UInt31(0), true);
62+
assert.strictEqual(types.UInt31(1000), true);
63+
assert.strictEqual(types.UInt31(UINT31_MAX), true);
64+
});
65+
66+
it('return false for negative values', () => {
67+
assert.strictEqual(types.UInt31(-1), false);
68+
assert.strictEqual(types.UInt31(-UINT31_MAX), false);
69+
});
70+
71+
it('return false for values > UINT31_MAX', () => {
72+
assert.strictEqual(types.UInt31(UINT31_MAX + 1), false);
73+
});
74+
});
75+
76+
describe('BIP32Path', () => {
77+
it('return true for valid paths', () => {
78+
assert.strictEqual(types.BIP32Path("m/0'/0'"), true);
79+
assert.strictEqual(types.BIP32Path("m/0'/0"), true);
80+
assert.strictEqual(types.BIP32Path("m/0'/1'/2'/3/4'"), true);
81+
});
82+
83+
it('return false for invalid paths', () => {
84+
assert.strictEqual(types.BIP32Path('m'), false);
85+
assert.strictEqual(types.BIP32Path("n/0'/0'"), false);
86+
assert.strictEqual(types.BIP32Path("m/0'/x"), false);
87+
});
88+
89+
it('return "BIP32 derivation path" for JSON.strigify()', () => {
90+
const toJsonValue = JSON.stringify(types.BIP32Path);
91+
assert.equal(toJsonValue, '"BIP32 derivation path"');
92+
});
93+
});
5794
});

0 commit comments

Comments
 (0)