package persistence import ( "io/ioutil" "os" "testing" "github.com/stretchr/testify/assert" ) type Dummy struct { Success bool Value int } func TestPersistence_LoadSave(t *testing.T) { tmp, err := ioutil.TempDir(os.TempDir(), "rove_persistence_test") assert.NoError(t, err, "Failed to get tempdir path") assert.NoError(t, SetPath(tmp), "Failed to get set tempdir to persistence path") // Try and save out the dummy var dummy Dummy dummy.Success = true assert.NoError(t, Save("test", dummy), "Failed to save out dummy file") // Load back the dummy dummy = Dummy{} assert.NoError(t, Load("test", &dummy), "Failed to load in dummy file") assert.Equal(t, true, dummy.Success, "Did not successfully load true value from file") } func TestPersistence_LoadSaveAll(t *testing.T) { tmp, err := ioutil.TempDir(os.TempDir(), "rove_persistence_test") assert.NoError(t, err, "Failed to get tempdir path") assert.NoError(t, SetPath(tmp), "Failed to get set tempdir to persistence path") // Try and save out the dummy var dummyA Dummy var dummyB Dummy dummyA.Value = 1 dummyB.Value = 2 assert.NoError(t, SaveAll("a", dummyA, "b", dummyB), "Failed to save out dummy file") // Load back the dummy dummyA = Dummy{} dummyB = Dummy{} assert.NoError(t, LoadAll("a", &dummyA, "b", &dummyB), "Failed to load in dummy file") assert.Equal(t, 1, dummyA.Value, "Did not successfully load int value from file") assert.Equal(t, 2, dummyB.Value, "Did not successfully load int value from file") }