solana-go/programs/token/CloseAccount_test.go

49 lines
1.3 KiB
Go

// Copyright 2021 github.com/gagliardetto
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package token
import (
"bytes"
"strconv"
"testing"
ag_gofuzz "github.com/gagliardetto/gofuzz"
ag_require "github.com/stretchr/testify/require"
)
func TestEncodeDecode_CloseAccount(t *testing.T) {
fu := ag_gofuzz.New().NilChance(0)
for i := 0; i < 1; i++ {
t.Run("CloseAccount"+strconv.Itoa(i), func(t *testing.T) {
{
params := new(CloseAccount)
fu.Fuzz(params)
params.Accounts = nil
params.Signers = nil
buf := new(bytes.Buffer)
err := encodeT(*params, buf)
ag_require.NoError(t, err)
//
got := new(CloseAccount)
err = decodeT(got, buf.Bytes())
params.Accounts = nil
params.Signers = nil
ag_require.NoError(t, err)
ag_require.Equal(t, params, got)
}
})
}
}