@@ -7,26 +7,34 @@ const assert = require('node:assert')
7
7
8
8
describe ( 'Ternary Search Tree' , ( ) => {
9
9
test ( 'The empty key cannot be added.' , ( ) => {
10
- assert . throws ( ( ) => new TernarySearchTree ( ) . insert ( Buffer . from ( '' ) , '' ) )
10
+ assert . throws ( ( ) => new TernarySearchTree ( ) . insert ( '' , '' ) )
11
11
const tst = new TernarySearchTree ( )
12
- tst . insert ( Buffer . from ( 'a' ) , 'a' )
13
- assert . throws ( ( ) => tst . insert ( Buffer . from ( '' ) , '' ) )
12
+ tst . insert ( 'a' , 'a' )
13
+ assert . throws ( ( ) => tst . insert ( '' , '' ) )
14
14
} )
15
15
16
16
test ( 'looking up not inserted key returns null' , ( ) => {
17
- assert . throws ( ( ) => new TernarySearchTree ( ) . insert ( Buffer . from ( '' ) , '' ) )
18
17
const tst = new TernarySearchTree ( )
19
- tst . insert ( Buffer . from ( 'a' ) , 'a' )
18
+ tst . insert ( 'a' , 'a' )
20
19
assert . strictEqual ( tst . lookup ( Buffer . from ( 'non-existant' ) ) , null )
21
20
} )
22
21
22
+ test ( 'not ascii string' , ( ) => {
23
+ assert . throws ( ( ) => new TernarySearchTree ( ) . insert ( '\x80' , 'a' ) )
24
+ const tst = new TernarySearchTree ( )
25
+ tst . insert ( 'a' , 'a' )
26
+ // throw on TstNode
27
+ assert . throws ( ( ) => tst . insert ( 'a\x80' , 'a' ) )
28
+ } )
29
+
23
30
test ( 'duplicate key' , ( ) => {
24
31
const tst = new TernarySearchTree ( )
25
- const key = Buffer . from ( 'a' )
32
+ const key = 'a'
33
+ const lookupKey = Buffer . from ( key )
26
34
tst . insert ( key , 'a' )
27
- assert . strictEqual ( tst . lookup ( key ) , 'a' )
35
+ assert . strictEqual ( tst . lookup ( lookupKey ) , 'a' )
28
36
tst . insert ( key , 'b' )
29
- assert . strictEqual ( tst . lookup ( key ) , 'b' )
37
+ assert . strictEqual ( tst . lookup ( lookupKey ) , 'b' )
30
38
} )
31
39
32
40
test ( 'tree' , ( ) => {
@@ -59,7 +67,7 @@ describe('Ternary Search Tree', () => {
59
67
const key = generateAsciiString ( ( Math . random ( ) * 100 + 5 ) | 0 )
60
68
const lowerCasedKey = random [ i ] = key . toLowerCase ( )
61
69
randomBuffer [ i ] = Buffer . from ( key )
62
- tst . insert ( Buffer . from ( lowerCasedKey ) , lowerCasedKey )
70
+ tst . insert ( lowerCasedKey , lowerCasedKey )
63
71
}
64
72
65
73
for ( let i = 0 ; i < LENGTH ; ++ i ) {
0 commit comments