// Copyright 2010 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package rand import ( "bytes" "compress/flate" "io" "testing" ) func TestRead(t *testing.T) { var n int = 4e6 if testing.Short() { n = 1e5 } b := make([]byte, n) n, err := io.ReadFull(Reader, b) if n != len(b) || err != nil { t.Fatalf("ReadFull(buf) = %d, %s", n, err) } var z bytes.Buffer f, _ := flate.NewWriter(&z, 5) f.Write(b) f.Close() if z.Len() < len(b)*99/100 { t.Fatalf("Compressed %d -> %d", len(b), z.Len()) } } func TestReadEmpty(t *testing.T) { n, err := Reader.Read(make([]byte, 0)) if n != 0 || err != nil { t.Fatalf("Read(make([]byte, 0)) = %d, %v", n, err) } n, err = Reader.Read(nil) if n != 0 || err != nil { t.Fatalf("Read(nil) = %d, %v", n, err) } }