a flat bitset

This commit is contained in:
Tnze
2022-05-28 01:39:33 +08:00
parent 7bb5c2db87
commit 29ce03be31
3 changed files with 120 additions and 58 deletions

28
server/ecs/bitset_test.go Normal file
View File

@ -0,0 +1,28 @@
package ecs
import (
"reflect"
"testing"
)
func TestBitSet_And(t *testing.T) {
var set1, set2 BitSet
set1.Set(1)
set1.Set(3)
set1.Set(40)
set2.Set(2)
set2.Set(3)
set2.Set(9)
set2.Set(40)
var results []Index
set1.And(&set2).Range(func(eid Index) {
results = append(results, eid)
})
want := []Index{3, 40}
if !reflect.DeepEqual(results, want) {
t.Errorf("want %v, got: %v", want, results)
}
}