github.com/square/finch@v0.0.0-20240412205204-6530c03e2b96/limit/data_test.go (about) 1 package limit_test 2 3 import ( 4 "testing" 5 6 "github.com/square/finch/limit" 7 ) 8 9 func TestOr(t *testing.T) { 10 r1 := limit.NewRows(100, 0) 11 r2 := limit.NewRows(50, 0) 12 13 dl := limit.Or(r1, r2) 14 15 // We can pass nil for the *sql.DB because Rows doesn't use it for More 16 if dl.More(nil) == false { 17 t.Error("More false, expected true before anything called") 18 } 19 20 r1.Affected(1) // 1/100 21 r2.Affected(1) // 1/50 22 if dl.More(nil) != true { 23 t.Error("More false, expected true before either limit reached") 24 } 25 26 r2.Affected(49) // 50/50 27 if dl.More(nil) != false { 28 t.Error("More true, expected false when one limit reached") 29 } 30 }