github.com/jbendotnet/noms@v0.0.0-20190904222105-c43e4293ea92/go/util/random/id_test.go (about) 1 package random 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 type testReader byte 10 11 func (r *testReader) Read(dest []byte) (int, error) { 12 for i := 0; i < len(dest); i++ { 13 dest[i] = byte(*r) 14 } 15 return len(dest), nil 16 } 17 18 func TestBasic(t *testing.T) { 19 assert := assert.New(t) 20 21 func() { 22 var r testReader 23 oldReader := reader 24 reader = &r 25 defer func() { 26 reader = oldReader 27 }() 28 29 r = testReader(byte(0x00)) 30 assert.Equal("00000000000000000000000000000000", Id()) 31 r = testReader(byte(0x01)) 32 assert.Equal("01010101010101010101010101010101", Id()) 33 r = testReader(byte(0xFF)) 34 assert.Equal("ffffffffffffffffffffffffffffffff", Id()) 35 }() 36 37 one := Id() 38 two := Id() 39 assert.NotEqual(one, two) 40 }