github.com/josephvusich/fdf@v0.0.0-20230522095411-9326dd32e33f/comparer_test.go (about)

     1  package main
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/assert"
     7  )
     8  
     9  func TestGetRange(t *testing.T) {
    10  	assert := assert.New(t)
    11  
    12  	subject := "fooBarFizzBuzz"
    13  	cases := map[string]string{
    14  		":":    "fooBarFizzBuzz",
    15  		"0:-1": "fooBarFizzBuzz",
    16  		"0:-2": "fooBarFizzBuz",
    17  		"6:-1": "FizzBuzz",
    18  		"3:3":  "Bar",
    19  		"-4:4": "Buzz",
    20  	}
    21  
    22  	for inputs, expect := range cases {
    23  		cmp, err := newComparer(inputs, func(r *fileRecord) string { return r.FoldedName })
    24  		assert.NoError(err)
    25  		assert.Len(cmp.ranges, 1)
    26  		assert.Equal(expect, getRange(subject, cmp.ranges[0][0], cmp.ranges[0][1]), "failed [%s]", inputs)
    27  	}
    28  }