Files

60 lines
1.3 KiB
Go

package cmd_test
import (
"math/big"
"testing"
"github.com/hanzo-fi/numscript/internal/cmd"
"github.com/hanzo-fi/numscript/internal/interpreter"
"github.com/stretchr/testify/require"
)
func TestMakeSpecsFileRetryForMissingFunds(t *testing.T) {
out, err := cmd.MakeSpecsFile(`
send [USD/2 10000] (
source = @alice
destination = @bob
)
`)
require.Nil(t, err)
require.Equal(t, interpreter.Balances{
{Account: "alice", Asset: "USD/2", Amount: big.NewInt(10000)},
}, out.Balances)
}
func TestMakeSpecsFileFundsScopedBalance(t *testing.T) {
out, err := cmd.MakeSpecsFile(`
send [USD/2 10000] (
source = scoped(@alice, "reserve")
destination = @bob
)
`)
require.Nil(t, err)
require.Equal(t, interpreter.Balances{
{Account: "alice", Asset: "USD/2", Scope: "reserve", Amount: big.NewInt(10000)},
}, out.Balances)
}
func TestUnusedVars(t *testing.T) {
out, err := cmd.MakeSpecsFile(`
vars { monetary $m }
`)
require.Nil(t, err)
require.Equal(t, interpreter.VariablesMap{"m": "USD/2 100"}, out.Vars)
}
func TestMakeSpecsFileRetryForMissingFeatureFlags(t *testing.T) {
out, err := cmd.MakeSpecsFile(`
send [USD/2 10000] (
source = oneof { @world }
destination = @bob
)
`)
require.Nil(t, err)
require.Equal(t, []string{"experimental-oneof"}, out.FeatureFlags)
}