Basic gas impl, quick testcase
This commit is contained in:
parent
efc7843fb9
commit
f0e4d24ea3
|
@ -20,7 +20,7 @@ func TestPowHandler(t *testing.T) {
|
|||
auth.RegisterBaseAccount(cdc)
|
||||
|
||||
am := auth.NewAccountMapper(cdc, capKey, &auth.BaseAccount{})
|
||||
ctx := sdk.NewContext(ms, abci.Header{}, false, nil, log.NewNopLogger(), 0)
|
||||
ctx := sdk.NewContext(ms, abci.Header{}, false, nil, log.NewNopLogger(), 1000)
|
||||
config := NewConfig("pow", int64(1))
|
||||
ck := bank.NewKeeper(am)
|
||||
keeper := NewKeeper(capKey, config, ck, DefaultCodespace)
|
||||
|
|
|
@ -119,6 +119,9 @@ func getCoins(ctx sdk.Context, am sdk.AccountMapper, addr sdk.Address) (sdk.Coin
|
|||
}
|
||||
|
||||
func setCoins(ctx sdk.Context, am sdk.AccountMapper, addr sdk.Address, amt sdk.Coins) sdk.Error {
|
||||
if ctx.GasMeter().ConsumeGasOrFail(100) {
|
||||
return sdk.ErrOutOfGas("out of gas in setCoins")
|
||||
}
|
||||
acc := am.GetAccount(ctx, addr)
|
||||
if acc == nil {
|
||||
acc = am.NewAccountWithAddress(ctx, addr)
|
||||
|
|
|
@ -135,6 +135,31 @@ func TestKeeper(t *testing.T) {
|
|||
|
||||
}
|
||||
|
||||
func TestKeeperGas(t *testing.T) {
|
||||
ms, authKey := setupMultiStore()
|
||||
|
||||
cdc := wire.NewCodec()
|
||||
auth.RegisterBaseAccount(cdc)
|
||||
|
||||
ctx := sdk.NewContext(ms, abci.Header{}, false, nil, log.NewNopLogger(), 10)
|
||||
accountMapper := auth.NewAccountMapper(cdc, authKey, &auth.BaseAccount{})
|
||||
coinKeeper := NewKeeper(accountMapper)
|
||||
|
||||
addr := sdk.Address([]byte("addr1"))
|
||||
acc := accountMapper.NewAccountWithAddress(ctx, addr)
|
||||
|
||||
// Test GetCoins/SetCoins
|
||||
accountMapper.SetAccount(ctx, acc)
|
||||
coins, err := coinKeeper.GetCoins(ctx, addr)
|
||||
assert.Nil(t, err)
|
||||
assert.True(t, coins.IsEqual(sdk.Coins{}))
|
||||
|
||||
coinKeeper.SetCoins(ctx, addr, sdk.Coins{{"foocoin", 10}})
|
||||
coins, err = coinKeeper.GetCoins(ctx, addr)
|
||||
assert.NotNil(t, err)
|
||||
assert.True(t, coins.IsEqual(sdk.Coins{}))
|
||||
}
|
||||
|
||||
func TestSendKeeper(t *testing.T) {
|
||||
ms, authKey := setupMultiStore()
|
||||
|
||||
|
|
Loading…
Reference in New Issue