github.com/status-im/status-go@v1.1.0/services/wallet/balance/simple_cache_test.go (about) 1 package balance 2 3 import ( 4 "math/big" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/ethereum/go-ethereum/common" 10 ) 11 12 func Test_simpleCacheAll(t *testing.T) { 13 cache := newSimpleCache() 14 15 // init args 16 block := big.NewInt(1) 17 chainID := uint64(1) 18 account := common.Address{1} 19 balance := big.NewInt(1) 20 21 // Test balance 22 cache.AddBalance(account, chainID, block, balance) 23 require.Equal(t, 1, cache.BalanceSize(account, chainID)) 24 require.Equal(t, 0, cache.NonceSize(account, chainID)) 25 26 balRes := cache.GetBalance(account, chainID, block) 27 require.Equal(t, balance, balRes) 28 29 // Test nonce 30 cache = newSimpleCache() 31 nonce := int64(2) 32 cache.AddNonce(account, chainID, block, &nonce) 33 require.Equal(t, 1, cache.NonceSize(account, chainID)) 34 require.Equal(t, 0, cache.BalanceSize(account, chainID)) 35 36 nonceRes := cache.GetNonce(account, chainID, block) 37 require.Equal(t, nonce, *nonceRes) 38 39 // Test nonceRange size after adding nonce 40 cache = newSimpleCache() 41 cache.AddNonce(account, chainID, block, &nonce) 42 require.Equal(t, 1, cache.nonceRangeCache.size(account, chainID)) 43 require.Equal(t, 1, len(cache.nonceRangeCache.sortedRanges)) 44 }