mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-27 08:45: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)
|
||
|
})
|
||
|
}
|
||
|
}
|