github.com/kolbycrouch/elvish@v0.14.1-0.20210614162631-215b9ac1c423/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, tt.Fn("PointRanging", PointRanging), tt.Table{
    25  		Args(1).Rets(Ranging{1, 1}),
    26  	})
    27  }
    28  
    29  func TestMixedRanging(t *testing.T) {
    30  	tt.Test(t, tt.Fn("MixedRanging", MixedRanging), tt.Table{
    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  }