github.com/scottcagno/storage@v1.8.0/pkg/_se/engine_test.go (about)

     1  package _se
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  )
     7  
     8  var testingPath = "se-testing/dangfile.txt"
     9  
    10  func TestEngine_Open(t *testing.T) {
    11  
    12  	e, err := openEngine(testingPath)
    13  	if err != nil {
    14  		t.Error(err)
    15  	}
    16  
    17  	r1 := makeRecord(1, []byte("this record will fit in one (64b) page, not two"))
    18  	_, err = e.write(r1)
    19  	if err != nil {
    20  		t.Error(err)
    21  	}
    22  	r2 := makeRecord(2, []byte("this record is a little bit longer than the first one--it should end up occupying two pages but not three"))
    23  	_, err = e.write(r2)
    24  	if err != nil {
    25  		t.Error(err)
    26  	}
    27  	r3 := makeRecord(3, []byte("and this record is going to be a bit longer than the second one and ideally we should aim to fill three pages, but not four. this one should suffice."))
    28  	_, err = e.write(r3)
    29  	if err != nil {
    30  		t.Error(err)
    31  	}
    32  
    33  	err = e.close()
    34  	if err != nil {
    35  		t.Error(err)
    36  	}
    37  
    38  	e, err = openEngine(testingPath)
    39  	if err != nil {
    40  		t.Error(err)
    41  	}
    42  	fmt.Printf("engine.index=%d\n", e.index)
    43  	err = e.close()
    44  	if err != nil {
    45  		t.Error(err)
    46  	}
    47  }