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  }