src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/diag/range_test.go (about)

     1  package diag
     2  
     3  import (
     4  	"testing"
     5  
     6  	"src.elv.sh/pkg/tt"
     7  )
     8  
     9  var Args = tt.Args
    10  
    11  type aRanger struct {
    12  	Ranging
    13  }
    14  
    15  func TestEmbeddingRangingImplementsRanger(t *testing.T) {
    16  	r := Ranging{1, 10}
    17  	s := Ranger(aRanger{Ranging{1, 10}})
    18  	if s.Range() != r {
    19  		t.Errorf("s.Range() = %v, want %v", s.Range(), r)
    20  	}
    21  }
    22  
    23  func TestPointRanging(t *testing.T) {
    24  	tt.Test(t, PointRanging,
    25  		Args(1).Rets(Ranging{1, 1}),
    26  	)
    27  }
    28  
    29  func TestMixedRanging(t *testing.T) {
    30  	tt.Test(t, MixedRanging,
    31  		Args(Ranging{1, 2}, Ranging{0, 4}).Rets(Ranging{1, 4}),
    32  		Args(Ranging{0, 4}, Ranging{1, 2}).Rets(Ranging{0, 2}),
    33  	)
    34  }