Skip to content
26 changes: 14 additions & 12 deletions Tests/Editor/SaveLoadUtilityTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ public class SaveLoadUtilityTests
{
private string TestKey = "TestKey";
private string TestSalt = "TestSalt";

private ISerializationMethod GetSerializationMethod(SerializationMethodType method)
{
switch (method)
Expand All @@ -26,40 +26,43 @@ private ISerializationMethod GetSerializationMethod(SerializationMethodType meth
return new SerializationMethodUnityJson();
case SerializationMethodType.UnityJsonEncrypted:
return new SerializationMethodUnityJsonEncrypted(TestKey,TestSalt);
#if JSON_DOT_NET

case SerializationMethodType.JsonDotNet:
return new SerializationMethodJsonDotNet();
case SerializationMethodType.JsonDotNetEncrypted:
return new SerializationMethodJsonDotNetEncrypted(TestKey,TestSalt);
#endif
case SerializationMethodType.Custom:
return new SerializationMethodBinary();
default:
throw new ArgumentOutOfRangeException(nameof(method), method, null);
}
}

[Serializable]
public class SaveLoadTestObject
{
public string testData;
}

[Test]
public void SaveLoadAndDelete([Values]SerializationMethodType method)
{
var testSave = new SaveLoadTestObject() {testData = "SaveFileExists"};
var serializationMethod = GetSerializationMethod(method);
var filename = "TestSave.sav";

SaveLoadUtility.Save(testSave,serializationMethod,filename);

Assert.IsTrue(SaveLoadUtility.Exists(filename));

var loadedSave = (SaveLoadTestObject)SaveLoadUtility.Load(typeof(SaveLoadTestObject), serializationMethod, filename);
Assert.NotNull(loadedSave);
Assert.IsTrue(loadedSave.testData == testSave.testData);

SaveLoadUtility.DeleteSavedFile(filename);

Assert.IsFalse(SaveLoadUtility.Exists(filename));
}

Expand All @@ -77,16 +80,16 @@ public void CanGetFiles()
var serializationMethod = GetSerializationMethod(SerializationMethodType.Binary);
var filename = "TestSave.sav";
var folder = "TestFolder";

SaveLoadUtility.Save(testSave,serializationMethod,filename,folder);

var files = SaveLoadUtility.GetSavedFiles(folder);
Assert.IsTrue(files.Length == 1);

//Files should contain a list of names that exactly match the file name used
//omits the path of the file
Assert.IsTrue(files[0] == filename);

SaveLoadUtility.DeleteSavedFile(filename,folder);

files = SaveLoadUtility.GetSavedFiles();
Expand All @@ -108,8 +111,7 @@ public void TearDown()
}
}
}

}

}