github.com/scottcagno/storage@v1.8.0/pkg/bio/reader_test.go (about)

     1  package bio
     2  
     3  import (
     4  	"bytes"
     5  	"fmt"
     6  	"testing"
     7  )
     8  
     9  var (
    10  	b *bytes.Buffer
    11  	w *Writer
    12  )
    13  
    14  func setup(t *testing.T) {
    15  	b = new(bytes.Buffer)
    16  	w = NewWriter(b)
    17  	n, err := w.Write([]byte("entry 1: this is just a test. this is entry number one."))
    18  	if err != nil {
    19  		t.Error(err)
    20  	}
    21  	n, err = w.Write([]byte("entry 2: this is entry two"))
    22  	if err != nil {
    23  		t.Error(err)
    24  	}
    25  	//fmt.Printf("wrote %d bytes.\n", n)
    26  	//fmt.Printf("%s", Info(w, b))
    27  	_ = n
    28  }
    29  
    30  func TestReader_NewReader(t *testing.T) {
    31  	//setup(t)
    32  	r := NewReader(new(bytes.Buffer))
    33  	fmt.Printf("%s\n", r)
    34  }
    35  
    36  func TestReader_Read(t *testing.T) {
    37  	setup(t)
    38  	r := NewReader(b)
    39  	buf := make([]byte, blockSize*4)
    40  	_, err := r.Read(buf)
    41  	if err != nil {
    42  		t.Error(err)
    43  	}
    44  
    45  	for i := 0; i < len(buf); i += blockSize {
    46  		fmt.Printf("block[%d]\n\theader: %s\n\tdata: %q\n\n", i/blockSize,
    47  			buf[i:i+headerSize], buf[i+headerSize:i+blockSize])
    48  	}
    49  }
    50  
    51  func TestReader_ReadRecord(t *testing.T) {
    52  	setup(t)
    53  	r := NewReader(b)
    54  
    55  	rec, err := r.readRecord()
    56  	if err != nil {
    57  		t.Error(err)
    58  	}
    59  	fmt.Printf("record: %q\n", rec)
    60  }