github.com/n1ghtfa1l/go-vnt@v0.6.4-alpha.6/core/wavm/utils/uitis_test.go (about) 1 // Copyright 2019 The go-vnt Authors 2 // This file is part of the go-vnt library. 3 // 4 // The go-vnt library is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU Lesser General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // The go-vnt library is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU Lesser General Public License for more details. 13 // 14 // You should have received a copy of the GNU Lesser General Public License 15 // along with the go-vnt library. If not, see <http://www.gnu.org/licenses/>. 16 17 package utils_test 18 19 import ( 20 "bytes" 21 "math/big" 22 "testing" 23 24 "github.com/vntchain/go-vnt/core/wavm/utils" 25 ) 26 27 func TestSplit(t *testing.T) { 28 teststr := []byte("111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111") 29 n, res := utils.Split(teststr) 30 testres := []byte{} 31 for i := 0; i < n; i++ { 32 testres = append(testres, res[i]...) 33 } 34 35 if !bytes.Equal(teststr, new(big.Int).SetBytes(testres).Bytes()) { 36 t.Errorf("want %s | get %s", teststr, new(big.Int).SetBytes(testres).Bytes()) 37 } 38 } 39 40 func TestGetU256(t *testing.T) { 41 42 var mem []byte 43 bigint := utils.GetU256(mem) 44 if bigint.String() != "0" { 45 t.Fatalf("want %s |get %s", "0", bigint.String()) 46 } 47 48 mem = []byte(nil) 49 bigint = utils.GetU256(mem) 50 if bigint.String() != "0" { 51 t.Fatalf("want %s |get %s", "0", bigint.String()) 52 } 53 54 mem = []byte{} 55 bigint = utils.GetU256(mem) 56 if bigint.String() != "0" { 57 t.Fatalf("want %s |get %s", "0", bigint.String()) 58 } 59 60 mem = []byte("111111111") 61 bigint = utils.GetU256(mem) 62 if bigint.String() != "111111111" { 63 t.Fatalf("want %s |get %s", "111111111", bigint.String()) 64 } 65 66 }