chore: add test
This commit is contained in:
parent
9125e113a3
commit
6b14b99ea9
2 changed files with 28 additions and 2 deletions
|
|
@ -81,9 +81,9 @@ type runnable interface {
|
|||
func runOrError[T any, I interface {
|
||||
*T
|
||||
runnable
|
||||
}](t *T) (*T, error) {
|
||||
}](t I) (*T, error) {
|
||||
done := make(chan error)
|
||||
go I(t).run(done)
|
||||
go t.run(done)
|
||||
|
||||
if err := <-done; err != nil {
|
||||
return nil, err
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package tariff
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
|
|
@ -55,3 +56,28 @@ func TestMergeRatesAfter(t *testing.T) {
|
|||
assert.Equal(t, tc.expected, res)
|
||||
}
|
||||
}
|
||||
|
||||
type runner struct {
|
||||
res error
|
||||
}
|
||||
|
||||
func (r *runner) run(done chan error) {
|
||||
if r.res == nil {
|
||||
close(done)
|
||||
} else {
|
||||
done <- r.res
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunOrQError(t *testing.T) {
|
||||
{
|
||||
res, err := runOrError(&runner{nil})
|
||||
require.NoError(t, err)
|
||||
require.NotNil(t, res)
|
||||
}
|
||||
{
|
||||
res, err := runOrError(&runner{errors.New("foo")})
|
||||
require.Error(t, err)
|
||||
require.Nil(t, res)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue