...

Source file src/github.com/aws/smithy-go/rand/uuid_test.go

Documentation: github.com/aws/smithy-go/rand

     1  package rand_test
     2  
     3  import (
     4  	"bytes"
     5  	mathrand "math/rand"
     6  	"testing"
     7  	"time"
     8  
     9  	"github.com/aws/smithy-go/rand"
    10  )
    11  
    12  func TestUUID(t *testing.T) {
    13  	randSrc := make([]byte, 32)
    14  	for i := 16; i < len(randSrc); i++ {
    15  		randSrc[i] = 1
    16  	}
    17  
    18  	uuid := rand.NewUUID(bytes.NewReader(randSrc))
    19  
    20  	v, err := uuid.GetUUID()
    21  	if err != nil {
    22  		t.Fatalf("expect no error getting zero UUID, got %v", err)
    23  	}
    24  	if e, a := `00000000-0000-4000-8000-000000000000`, v; e != a {
    25  		t.Errorf("expect %v, got %v", e, a)
    26  	}
    27  
    28  	v, err = uuid.GetUUID()
    29  	if err != nil {
    30  		t.Fatalf("expect no error getting ones UUID, got %v", err)
    31  	}
    32  	if e, a := `01010101-0101-4101-8101-010101010101`, v; e != a {
    33  		t.Errorf("expect %v, got %v", e, a)
    34  	}
    35  }
    36  
    37  func BenchmarkUUID_GetUUID(b *testing.B) {
    38  	src := mathrand.NewSource(time.Now().Unix())
    39  	uuid := rand.NewUUID(mathrand.New(src))
    40  
    41  	for i := 0; i < b.N; i++ {
    42  		_, err := uuid.GetUUID()
    43  		if err != nil {
    44  			b.Fatal(err)
    45  		}
    46  	}
    47  }
    48  

View as plain text