github.com/docker/compose-on-kubernetes@v0.5.0/internal/error-group_test.go (about)

     1  package internal
     2  
     3  import (
     4  	"errors"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  )
     9  
    10  func TestContains(t *testing.T) {
    11  	var noerr error
    12  	err1 := errors.New("error 1")
    13  	err2 := errors.New("error 2")
    14  
    15  	// 0
    16  	assert.Equal(t, GroupErrors(noerr), nil)
    17  	assert.Equal(t, GroupErrors(noerr, noerr), nil)
    18  
    19  	// 1
    20  	assert.Equal(t, GroupErrors(err1), err1)
    21  	assert.Equal(t, GroupErrors(noerr, err1), err1)
    22  	assert.Equal(t, GroupErrors(err1, noerr), err1)
    23  
    24  	// 2
    25  	const (
    26  		err12 = `multiple errors: "error 1", "error 2"`
    27  	)
    28  	assert.Equal(t, err12, GroupErrors(noerr, err1, err2).Error())
    29  	assert.Equal(t, err12, GroupErrors(err1, noerr, err2).Error())
    30  
    31  	// infinity (for a chemist).
    32  	const (
    33  		err1212 = `multiple errors: "error 1", "error 2", "error 1", "error 2"`
    34  	)
    35  	assert.Equal(t, err1212,
    36  		GroupErrors(noerr, err1, err2, noerr, err1, err2).Error())
    37  	assert.Equal(t, err1212,
    38  		GroupErrors(noerr, err1, err2, noerr, GroupErrors(err1, err2)).Error())
    39  	assert.Equal(t, err1212,
    40  		GroupErrors(noerr, GroupErrors(err1, err2), noerr, GroupErrors(err1, err2)).Error())
    41  }