frostfs-sdk-go/api/status/test/codes.go
Pavel Pogodaev 6ce73790ea
All checks were successful
DCO / DCO (pull_request) Successful in 38s
Tests and linters / Tests (pull_request) Successful in 1m13s
Tests and linters / Lint (pull_request) Successful in 2m36s
[#276] Merge repo with frostfs-api-go
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2024-10-22 14:05:12 +00:00

28 lines
594 B
Go

package statustest
import (
"testing"
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/status"
"github.com/stretchr/testify/require"
)
// TestCodes checks mapping of status codes to the numbers.
// Args must be pairs (status.Code, int).
func TestCodes(t *testing.T,
localizer func(*status.Code) bool,
globalizer func(code *status.Code),
vals ...any,
) {
for i := 0; i < len(vals); i += 2 {
c := vals[i].(status.Code)
cp := c
globalizer(&cp)
require.True(t, cp.EqualNumber(uint32(vals[i+1].(int))), c)
require.True(t, localizer(&cp), c)
require.Equal(t, cp, c, c)
}
}