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  }