package bt import "testing" func TestSetPieces(t *testing.T) { tests := []struct { name string data []byte n int i int want bool }{ { name: "piece 0 set", data: []byte{0b1000_0000}, n: 8, i: 0, want: true, }, { name: "piece 7 unset", data: []byte{0b1111_1110}, n: 8, i: 7, want: false, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { c := &Peer{} c.SetPieces(tt.data, tt.n) if c.Have[tt.i] != tt.want { t.Errorf("Have[%d]: got %v, want %v", tt.i, c.Have[tt.i], tt.want) } }) } }