mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-11-14 03:55:19 +00:00
81 lines
1.5 KiB
Go
81 lines
1.5 KiB
Go
package chaincfg
|
|
|
|
import (
|
|
"testing"
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestRegisterDenoms(t *testing.T) {
|
|
RegisterDenoms()
|
|
tests := []struct {
|
|
name string
|
|
from sdk.Coin
|
|
targetDenom string
|
|
expCoin sdk.Coin
|
|
expErr error
|
|
}{
|
|
{
|
|
"standard to gas",
|
|
MakeCoinForStandardDenom(99),
|
|
GasDenom,
|
|
MakeCoinForGasDenom(99 * (EvmDenomConversionMultiplier / GasDenomConversionMultiplier)),
|
|
nil,
|
|
},
|
|
{
|
|
"gas to standard",
|
|
MakeCoinForGasDenom(5e7),
|
|
StandardDenom,
|
|
MakeCoinForStandardDenom(50),
|
|
nil,
|
|
},
|
|
{
|
|
"standard to base",
|
|
MakeCoinForStandardDenom(22),
|
|
EvmDenom,
|
|
MakeCoinForEvmDenom(22 * EvmDenomConversionMultiplier),
|
|
nil,
|
|
},
|
|
{
|
|
"base to standard",
|
|
MakeCoinForEvmDenom("97000000000000000000"),
|
|
StandardDenom,
|
|
MakeCoinForStandardDenom(97),
|
|
nil,
|
|
},
|
|
{
|
|
"gas to base",
|
|
MakeCoinForGasDenom(33),
|
|
EvmDenom,
|
|
MakeCoinForEvmDenom(33 * GasDenomConversionMultiplier),
|
|
nil,
|
|
},
|
|
{
|
|
"base to gas",
|
|
MakeCoinForEvmDenom("770000000000000"),
|
|
GasDenom,
|
|
MakeCoinForGasDenom(770000000000000 / GasDenomConversionMultiplier),
|
|
nil,
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
ret, err := sdk.ConvertCoin(tt.from, tt.targetDenom)
|
|
if tt.expErr != nil {
|
|
if err == nil {
|
|
t.Errorf("expErr is not nil, but got nil")
|
|
return
|
|
}
|
|
} else {
|
|
if err != nil {
|
|
t.Errorf("expErr is nil, but got %v", err)
|
|
return
|
|
}
|
|
}
|
|
|
|
assert.Equal(t, tt.expCoin, ret)
|
|
})
|
|
}
|
|
}
|