From 94c7e25ff20584fbe01f72ff5bd2d516a40963f4 Mon Sep 17 00:00:00 2001 From: Lime Date: Fri, 12 Aug 2016 17:50:12 +0800 Subject: [PATCH] fix #7 --- bitmap.go | 4 ++-- bitmap_test.go | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/bitmap.go b/bitmap.go index 31ef8a9..0df61a1 100644 --- a/bitmap.go +++ b/bitmap.go @@ -147,11 +147,11 @@ func (bitmap *bitmap) String() string { buff := make([]string, div+mod) for i := 0; i < div; i++ { - buff[i] = fmt.Sprintf("%04b", bitmap.data[i]) + buff[i] = fmt.Sprintf("%08b", bitmap.data[i]) } for i := div; i < div+mod; i++ { - buff[i] = fmt.Sprintf("%01b", bitmap.Bit(div*8+(i-div))) + buff[i] = fmt.Sprintf("%1b", bitmap.Bit(div*8+(i-div))) } return strings.Join(buff, "") diff --git a/bitmap_test.go b/bitmap_test.go index 5b8cfa1..e82f118 100644 --- a/bitmap_test.go +++ b/bitmap_test.go @@ -9,6 +9,7 @@ func TestBitmap(t *testing.T) { b := newBitmapFrom(a, 10) c := newBitmapFromBytes([]byte{48, 49, 50, 51, 52, 53, 54, 55, 56, 57}) d := newBitmapFromString("0123456789") + e := newBitmap(10) // Bit for i := 0; i < a.Size; i++ { @@ -40,6 +41,18 @@ func TestBitmap(t *testing.T) { } // String + if e.String() != "0000000000" { + t.Fail() + } + e.Set(9) + if e.String() != "0000000001" { + t.Fail() + } + e.Set(2) + if e.String() != "0010000001" { + t.Fail() + } + a.Set(0) a.Set(5) a.Set(8)