tests/bytes2string2bytes/main_test.go

40 lines
857 B
Go

package main_test
import (
"encoding/hex"
"encoding/json"
"github.com/stretchr/testify/require"
"testing"
)
func Test(t *testing.T) {
// байты
bitesOriginal := getBytes()
// байты в строку
stringFromBytes := hex.EncodeToString(bitesOriginal)
// строку в json
jsonFromString, err := json.Marshal(struct {
Msg string `json:"msg"`
}{
Msg: stringFromBytes,
})
require.NoError(t, err)
// json в байты
var structFromJson struct {
Msg string `json:"msg"`
}
require.NoError(t, json.Unmarshal(jsonFromString, &structFromJson))
// строку в байты
bytesFromString := []byte(structFromJson.Msg)
require.Equal(t, bitesOriginal, bytesFromString)
require.Equal(t, stringFromBytes, structFromJson.Msg)
}
func getBytes() (b []byte) {
for i := 0; i < 256; i++ {
b = append(b, byte(i))
}
return b
}