Change return type of Toggle to simple bool

This commit is contained in:
Tevin Zhang 2020-07-07 15:33:59 +08:00
parent b830aebdb7
commit 53396ec6fe
No known key found for this signature in database
GPG Key ID: EE7DA2A50F0960FB
2 changed files with 7 additions and 7 deletions

View File

@ -49,9 +49,9 @@ func (ab *AtomicBool) SetTo(yes bool) {
}
}
// Toggle negates boolean atomically and returns a new AtomicBool object which holds previous boolean value.
func (ab *AtomicBool) Toggle() *AtomicBool {
return NewBool(atomic.AddInt32((*int32)(ab), 1)&1 == 0)
// Toggle inverts the boolean then returns the value before inverting.
func (ab *AtomicBool) Toggle() bool {
return atomic.AddInt32((*int32)(ab), 1)&1 == 0
}
// SetToIf sets the Boolean to new only if the Boolean matches the old

View File

@ -64,7 +64,7 @@ func TestBool(t *testing.T) {
}
prev := v.Toggle()
if v.IsSet() == prev.IsSet() {
if v.IsSet() == prev {
t.Fatal("AtomicBool.Toggle() to false failed")
}
}
@ -73,7 +73,7 @@ func TestToogleMultipleTimes(t *testing.T) {
t.Parallel()
v := New()
pre := NewBool(!v.IsSet())
pre := !v.IsSet()
for i := 0; i < 100; i++ {
v.SetTo(false)
for j := 0; j < i; j++ {
@ -85,8 +85,8 @@ func TestToogleMultipleTimes(t *testing.T) {
t.Fatalf("AtomicBool.Toogle() doesn't work after %d calls, expected: %v, got %v", i, expected, v.IsSet())
}
if pre.IsSet() == v.IsSet() {
t.Fatalf("AtomicBool.Toogle() returned wrong value at the %dth calls, expected: %v, got %v", i, !v.IsSet(), pre.IsSet())
if pre == v.IsSet() {
t.Fatalf("AtomicBool.Toogle() returned wrong value at the %dth calls, expected: %v, got %v", i, !v.IsSet(), pre)
}
}
}