github.com/arieschain/arieschain@v0.0.0-20191023063405-37c074544356/rpc/utils_test.go (about) 1 package rpc 2 3 import ( 4 "strings" 5 "testing" 6 ) 7 8 func TestNewID(t *testing.T) { 9 hexchars := "0123456789ABCDEFabcdef" 10 for i := 0; i < 100; i++ { 11 id := string(NewID()) 12 if !strings.HasPrefix(id, "0x") { 13 t.Fatalf("invalid ID prefix, want '0x...', got %s", id) 14 } 15 16 id = id[2:] 17 if len(id) == 0 || len(id) > 32 { 18 t.Fatalf("invalid ID length, want len(id) > 0 && len(id) <= 32), got %d", len(id)) 19 } 20 21 for i := 0; i < len(id); i++ { 22 if strings.IndexByte(hexchars, id[i]) == -1 { 23 t.Fatalf("unexpected byte, want any valid hex char, got %c", id[i]) 24 } 25 } 26 } 27 }