File tree 3 files changed +54
-0
lines changed
3 files changed +54
-0
lines changed Original file line number Diff line number Diff line change
1
+ package bitmask_test
2
+
3
+ import (
4
+ "testing"
5
+
6
+ "github.com/kerelape/bitmask"
7
+ "github.com/stretchr/testify/assert"
8
+ )
9
+
10
+ type TestMask bitmask.Mask
11
+
12
+ const (
13
+ TestMaskFlagNone bitmask.Flag [TestMask ] = 1 << iota - 1
14
+ TestMaskFlag1
15
+ )
16
+
17
+ func TestFlag_SetIn (t * testing.T ) {
18
+ mask := bitmask .Init [TestMask ]()
19
+ TestMaskFlag1 .SetIn (& mask )
20
+ assert .True (t , bitmask .IsExactly (mask , TestMaskFlag1 ))
21
+ }
22
+
23
+ func TestFlag_ClearIn (t * testing.T ) {
24
+ mask := bitmask.Init [TestMask ](TestMaskFlag1 )
25
+ TestMaskFlag1 .ClearIn (& mask )
26
+ assert .False (t , bitmask .Has (mask , TestMaskFlag1 ))
27
+ assert .True (t , bitmask .IsExactly (mask , TestMaskFlagNone ))
28
+ }
29
+
30
+ func TestFlag_SwapIn (t * testing.T ) {
31
+ mask := bitmask.Init [TestMask ](TestMaskFlag1 )
32
+ assert .True (t , bitmask .Has (mask , TestMaskFlag1 ))
33
+ TestMaskFlag1 .SwapIn (& mask )
34
+ assert .False (t , bitmask .Has (mask , TestMaskFlag1 ))
35
+ TestMaskFlag1 .SwapIn (& mask )
36
+ assert .True (t , bitmask .Has (mask , TestMaskFlag1 ))
37
+ }
Original file line number Diff line number Diff line change 1
1
module github.com/kerelape/bitmask
2
2
3
3
go 1.20
4
+
5
+ require github.com/stretchr/testify v1.8.4
6
+
7
+ require (
8
+ github.com/davecgh/go-spew v1.1.1 // indirect
9
+ github.com/pmezard/go-difflib v1.0.0 // indirect
10
+ gopkg.in/yaml.v3 v3.0.1 // indirect
11
+ )
Original file line number Diff line number Diff line change
1
+ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c =
2
+ github.com/davecgh/go-spew v1.1.1 /go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38 =
3
+ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM =
4
+ github.com/pmezard/go-difflib v1.0.0 /go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4 =
5
+ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk =
6
+ github.com/stretchr/testify v1.8.4 /go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo =
7
+ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 /go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0 =
8
+ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA =
9
+ gopkg.in/yaml.v3 v3.0.1 /go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM =
You can’t perform that action at this time.
0 commit comments