67 lines
1.4 KiB
Go
67 lines
1.4 KiB
Go
|
package flags
|
||
|
|
||
|
import (
|
||
|
"flag"
|
||
|
"io/ioutil"
|
||
|
"testing"
|
||
|
|
||
|
"github.com/nspcc-dev/neo-go/pkg/util"
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
func TestFixed8_String(t *testing.T) {
|
||
|
value := util.Fixed8(123)
|
||
|
f := Fixed8{
|
||
|
Value: value,
|
||
|
}
|
||
|
|
||
|
require.Equal(t, "0.00000123", f.String())
|
||
|
}
|
||
|
|
||
|
func TestFixed8_Set(t *testing.T) {
|
||
|
value := util.Fixed8(123)
|
||
|
f := Fixed8{}
|
||
|
|
||
|
require.Error(t, f.Set("not-a-fixed8"))
|
||
|
|
||
|
require.NoError(t, f.Set("0.00000123"))
|
||
|
require.Equal(t, value, f.Value)
|
||
|
}
|
||
|
|
||
|
func TestFixed8_Fixed8(t *testing.T) {
|
||
|
f := Fixed8{
|
||
|
Value: util.Fixed8(123),
|
||
|
}
|
||
|
|
||
|
require.Equal(t, util.Fixed8(123), f.Fixed8())
|
||
|
}
|
||
|
|
||
|
func TestFixed8Flag_String(t *testing.T) {
|
||
|
flag := Fixed8Flag{
|
||
|
Name: "myFlag",
|
||
|
Usage: "Gas amount",
|
||
|
}
|
||
|
|
||
|
require.Equal(t, "--myFlag value\tGas amount", flag.String())
|
||
|
}
|
||
|
|
||
|
func TestFixed8Flag_GetName(t *testing.T) {
|
||
|
flag := Fixed8Flag{
|
||
|
Name: "myFlag",
|
||
|
}
|
||
|
|
||
|
require.Equal(t, "myFlag", flag.GetName())
|
||
|
}
|
||
|
|
||
|
func TestFixed8(t *testing.T) {
|
||
|
f := flag.NewFlagSet("", flag.ContinueOnError)
|
||
|
f.SetOutput(ioutil.Discard) // don't pollute test output
|
||
|
gas := Fixed8Flag{Name: "gas, g"}
|
||
|
gas.Apply(f)
|
||
|
require.NoError(t, f.Parse([]string{"--gas", "0.123"}))
|
||
|
require.Equal(t, "0.123", f.Lookup("g").Value.String())
|
||
|
require.NoError(t, f.Parse([]string{"-g", "0.456"}))
|
||
|
require.Equal(t, "0.456", f.Lookup("g").Value.String())
|
||
|
require.Error(t, f.Parse([]string{"--gas", "kek"}))
|
||
|
}
|