package state
|
|
|
|
import (
|
|
"testing"
|
|
|
|
dbm "github.com/tendermint/go-db"
|
|
"github.com/tendermint/tendermint/config/tendermint_test"
|
|
)
|
|
|
|
func TestStateCopyEquals(t *testing.T) {
|
|
config := tendermint_test.ResetConfig("state_")
|
|
// Get State db
|
|
stateDB := dbm.NewDB("state", config.GetString("db_backend"), config.GetString("db_dir"))
|
|
state := GetState(config, stateDB)
|
|
|
|
stateCopy := state.Copy()
|
|
|
|
if !state.Equals(stateCopy) {
|
|
t.Fatal("expected state and its copy to be identical. got %v\n expected %v\n", stateCopy, state)
|
|
}
|
|
|
|
stateCopy.LastBlockHeight += 1
|
|
|
|
if state.Equals(stateCopy) {
|
|
t.Fatal("expected states to be different. got same %v", state)
|
|
}
|
|
}
|
|
|
|
func TestStateSaveLoad(t *testing.T) {
|
|
config := tendermint_test.ResetConfig("state_")
|
|
// Get State db
|
|
stateDB := dbm.NewDB("state", config.GetString("db_backend"), config.GetString("db_dir"))
|
|
state := GetState(config, stateDB)
|
|
|
|
state.LastBlockHeight += 1
|
|
state.Save()
|
|
|
|
loadedState := LoadState(stateDB)
|
|
if !state.Equals(loadedState) {
|
|
t.Fatal("expected state and its copy to be identical. got %v\n expected %v\n", loadedState, state)
|
|
}
|
|
}
|