diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-05-02 13:59:23 -0600 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-05-03 16:21:28 -0600 |
commit | 25fea2fd9f78434299036fe3a23c65dc9613f0bb (patch) | |
tree | 2b153687714f327438ef7a835097c7906561eea5 /node_test.go | |
parent | Merge pull request #147 from benbjohnson/stats (diff) | |
download | dedo-25fea2fd9f78434299036fe3a23c65dc9613f0bb.tar.gz dedo-25fea2fd9f78434299036fe3a23c65dc9613f0bb.tar.xz |
Refactor split/spill.
Diffstat (limited to 'node_test.go')
-rw-r--r-- | node_test.go | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/node_test.go b/node_test.go index e58a544..f639376 100644 --- a/node_test.go +++ b/node_test.go @@ -85,7 +85,7 @@ func TestNode_write_LeafPage(t *testing.T) { // Ensure that a node can split into appropriate subgroups. func TestNode_split(t *testing.T) { // Create a node. - n := &node{inodes: make(inodes, 0)} + n := &node{inodes: make(inodes, 0), bucket: &Bucket{tx: &Tx{}}} n.put([]byte("00000001"), []byte("00000001"), []byte("0123456701234567"), 0, 0) n.put([]byte("00000002"), []byte("00000002"), []byte("0123456701234567"), 0, 0) n.put([]byte("00000003"), []byte("00000003"), []byte("0123456701234567"), 0, 0) @@ -93,30 +93,30 @@ func TestNode_split(t *testing.T) { n.put([]byte("00000005"), []byte("00000005"), []byte("0123456701234567"), 0, 0) // Split between 2 & 3. - nodes := n.split(100) + n.split(100) - assert.Equal(t, len(nodes), 2) - assert.Equal(t, len(nodes[0].inodes), 2) - assert.Equal(t, len(nodes[1].inodes), 3) + var parent = n.parent + assert.Equal(t, len(parent.children), 2) + assert.Equal(t, len(parent.children[0].inodes), 2) + assert.Equal(t, len(parent.children[1].inodes), 3) } // Ensure that a page with the minimum number of inodes just returns a single node. func TestNode_split_MinKeys(t *testing.T) { // Create a node. - n := &node{inodes: make(inodes, 0)} + n := &node{inodes: make(inodes, 0), bucket: &Bucket{tx: &Tx{}}} n.put([]byte("00000001"), []byte("00000001"), []byte("0123456701234567"), 0, 0) n.put([]byte("00000002"), []byte("00000002"), []byte("0123456701234567"), 0, 0) // Split. - nodes := n.split(20) - assert.Equal(t, len(nodes), 1) - assert.Equal(t, len(nodes[0].inodes), 2) + n.split(20) + assert.Nil(t, n.parent) } // Ensure that a node that has keys that all fit on a page just returns one leaf. func TestNode_split_SinglePage(t *testing.T) { // Create a node. - n := &node{inodes: make(inodes, 0)} + n := &node{inodes: make(inodes, 0), bucket: &Bucket{tx: &Tx{}}} n.put([]byte("00000001"), []byte("00000001"), []byte("0123456701234567"), 0, 0) n.put([]byte("00000002"), []byte("00000002"), []byte("0123456701234567"), 0, 0) n.put([]byte("00000003"), []byte("00000003"), []byte("0123456701234567"), 0, 0) @@ -124,7 +124,6 @@ func TestNode_split_SinglePage(t *testing.T) { n.put([]byte("00000005"), []byte("00000005"), []byte("0123456701234567"), 0, 0) // Split. - nodes := n.split(4096) - assert.Equal(t, len(nodes), 1) - assert.Equal(t, len(nodes[0].inodes), 5) + n.split(4096) + assert.Nil(t, n.parent) } |