BitArray.IsEmpty()
This commit is contained in:
parent
461c3b9785
commit
dcfa46af13
14
bit_array.go
14
bit_array.go
|
@ -167,6 +167,20 @@ func (bA *BitArray) Sub(o *BitArray) *BitArray {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (bA *BitArray) IsEmpty() bool {
|
||||||
|
if bA == nil {
|
||||||
|
return true // should this be opposite?
|
||||||
|
}
|
||||||
|
bA.mtx.Lock()
|
||||||
|
defer bA.mtx.Unlock()
|
||||||
|
for _, e := range bA.Elems {
|
||||||
|
if e > 0 {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
func (bA *BitArray) IsFull() bool {
|
func (bA *BitArray) IsFull() bool {
|
||||||
if bA == nil {
|
if bA == nil {
|
||||||
return true
|
return true
|
||||||
|
|
|
@ -148,3 +148,19 @@ func TestBytes(t *testing.T) {
|
||||||
bA.SetIndex(9, true)
|
bA.SetIndex(9, true)
|
||||||
check(bA, []byte{0x80, 0x03})
|
check(bA, []byte{0x80, 0x03})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEmptyFull(t *testing.T) {
|
||||||
|
ns := []int{47, 123}
|
||||||
|
for _, n := range ns {
|
||||||
|
bA := NewBitArray(n)
|
||||||
|
if !bA.IsEmpty() {
|
||||||
|
t.Fatal("Expected bit array to be empty")
|
||||||
|
}
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
bA.SetIndex(i, true)
|
||||||
|
}
|
||||||
|
if !bA.IsFull() {
|
||||||
|
t.Fatal("Expected bit array to be full")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue