-
-
Notifications
You must be signed in to change notification settings - Fork 59
/
tree2.test.ts
76 lines (63 loc) · 1.56 KB
/
tree2.test.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
namespace $ {
$mol_test( {
'inserting'($) {
$mol_assert_equal(
$.$mol_tree2_from_string( 'a b c d\n' )
.insert( $mol_tree2.struct('x') , 'a' , 'b' , 'c' )
.toString(),
'a b x\n',
)
$mol_assert_equal(
$.$mol_tree2_from_string( 'a b\n' )
.insert( $mol_tree2.struct('x') , 'a' , 'b' , 'c' , 'd' )
.toString(),
'a b c x\n',
)
$mol_assert_equal(
$.$mol_tree2_from_string( 'a b c d\n' )
.insert( $mol_tree2.struct('x') , 0 , 0 , 0 )
.toString(),
'a b x\n',
)
$mol_assert_equal(
$.$mol_tree2_from_string( 'a b\n' )
.insert( $mol_tree2.struct('x') , 0 , 0 , 0 , 0 )
.toString(),
'a b \\\n\tx\n'
)
$mol_assert_equal(
$.$mol_tree2_from_string( 'a b c d\n' )
.insert( $mol_tree2.struct('x') , null , null , null )
.toString(),
'a b x\n',
)
$mol_assert_equal(
$.$mol_tree2_from_string( 'a b\n' )
.insert( $mol_tree2.struct('x') , null , null , null , null )
.toString(),
'a b \\\n\tx\n',
)
},
'deleting'($) {
$mol_assert_equal(
$.$mol_tree2_from_string( 'a b c d\n' )
.insert( null , 'a' , 'b' , 'c' )
.toString(),
'a b\n',
)
$mol_assert_equal(
$.$mol_tree2_from_string( 'a b c d\n' )
.insert( null , 0, 0, 0 )
.toString(),
'a b\n',
)
} ,
'hack'($) {
const res = $.$mol_tree2_from_string( `foo bar xxx\n` )
.hack({
'bar' : ( input , belt )=> [ input.struct( '777' , input.hack( belt ) ) ] ,
})
$mol_assert_equal( res.toString() , 'foo 777 xxx\n' )
} ,
} )
}