diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2014-02-05 22:15:47 -0700 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2014-02-05 22:15:47 -0700 |
commit | 0ed3dc3071d7ef0503f3fcbd015b63bbd6eae93e (patch) | |
tree | ac84cf42ed379c1d7b9b0d094a1ac2fe02869dd2 /sys_test.go | |
parent | Merge pull request #7 from benbjohnson/delete (diff) | |
download | dedo-0ed3dc3071d7ef0503f3fcbd015b63bbd6eae93e.tar.gz dedo-0ed3dc3071d7ef0503f3fcbd015b63bbd6eae93e.tar.xz |
Rename sys ☞ buckets.
Diffstat (limited to 'sys_test.go')
-rw-r--r-- | sys_test.go | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/sys_test.go b/sys_test.go deleted file mode 100644 index 0dcae66..0000000 --- a/sys_test.go +++ /dev/null @@ -1,70 +0,0 @@ -package bolt - -import ( - "testing" - "unsafe" - - "github.com/stretchr/testify/assert" -) - -// Ensure that a system page can set a bucket. -func TestSysPut(t *testing.T) { - s := &sys{buckets: make(map[string]*bucket)} - s.put("foo", &bucket{root: 2}) - s.put("bar", &bucket{root: 3}) - s.put("foo", &bucket{root: 4}) - assert.Equal(t, len(s.buckets), 2) - assert.Equal(t, s.get("foo").root, pgid(4)) - assert.Equal(t, s.get("bar").root, pgid(3)) - assert.Nil(t, s.get("no_such_bucket")) -} - -// Ensure that a system page can deserialize from a page. -func TestSysRead(t *testing.T) { - // Create a page. - var buf [4096]byte - page := (*page)(unsafe.Pointer(&buf[0])) - page.count = 2 - - // Insert 2 buckets at the beginning. - buckets := (*[3]bucket)(unsafe.Pointer(&page.ptr)) - buckets[0] = bucket{root: 3} - buckets[1] = bucket{root: 4} - - // Write data for the nodes at the end. - data := (*[4096]byte)(unsafe.Pointer(&buckets[2])) - data[0] = 3 - copy(data[1:], []byte("bar")) - data[4] = 10 - copy(data[5:], []byte("helloworld")) - - // Deserialize page into a system page. - s := &sys{buckets: make(map[string]*bucket)} - s.read(page) - - // Check that there are two items with correct data. - assert.Equal(t, len(s.buckets), 2) - assert.Equal(t, s.get("bar").root, pgid(3)) - assert.Equal(t, s.get("helloworld").root, pgid(4)) -} - -// Ensure that a system page can serialize itself. -func TestSysWrite(t *testing.T) { - s := &sys{buckets: make(map[string]*bucket)} - s.put("foo", &bucket{root: 2}) - s.put("bar", &bucket{root: 3}) - - // Write it to a page. - var buf [4096]byte - p := (*page)(unsafe.Pointer(&buf[0])) - s.write(p) - - // Read the page back in. - s2 := &sys{buckets: make(map[string]*bucket)} - s2.read(p) - - // Check that the two pages are the same. - assert.Equal(t, len(s.buckets), 2) - assert.Equal(t, s.get("foo").root, pgid(2)) - assert.Equal(t, s.get("bar").root, pgid(3)) -} |