github.com/sixexorg/magnetic-ring@v0.0.0-20191119090307-31705a21e419/store/mainchain/account_level/level_store_test.go (about)

     1  package account_level
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  
     7  	"github.com/magiconair/properties/assert"
     8  	"github.com/sixexorg/magnetic-ring/common"
     9  	"github.com/sixexorg/magnetic-ring/mock"
    10  )
    11  
    12  func TestLevelStore(t *testing.T) {
    13  	dbDir := "./test"
    14  	os.RemoveAll(dbDir)
    15  	s, _ := NewLevelStore(dbDir)
    16  	m1 := make(map[common.Address]EasyLevel)
    17  	m1[mock.Address_1] = lv5
    18  	s.SaveLevels(50, m1)
    19  	m2 := make(map[common.Address]EasyLevel)
    20  	m2[mock.Address_1] = lv7
    21  	s.SaveLevels(70, m2)
    22  	m3 := make(map[common.Address]EasyLevel)
    23  	m3[mock.Address_1] = lv8
    24  	s.SaveLevels(75, m3)
    25  	m4 := make(map[common.Address]EasyLevel)
    26  	m4[mock.Address_1] = lv9
    27  	s.SaveLevels(80, m4)
    28  	assert.Equal(t, s.GetAccountLevel(5, mock.Address_1), lv0)
    29  	assert.Equal(t, s.GetAccountLevel(50, mock.Address_1), lv5)
    30  	assert.Equal(t, s.GetAccountLevel(55, mock.Address_1), lv5)
    31  	assert.Equal(t, s.GetAccountLevel(73, mock.Address_1), lv7)
    32  	assert.Equal(t, s.GetAccountLevel(76, mock.Address_1), lv8)
    33  	assert.Equal(t, s.GetAccountLevel(89, mock.Address_1), lv9)
    34  	ftress1 := []common.FTreer{
    35  		&HeightLevel{Height: 50, Lv: lv5},
    36  		&HeightLevel{Height: 70, Lv: lv7},
    37  	}
    38  
    39  	ftrees := s.GetAccountLvlRange(15, 74, mock.Address_1)
    40  	assert.Equal(t, ftress1, ftrees)
    41  }