Skip to content

Commit 7b8a450

Browse files
committed
Tests for backing up session files it they exist
1 parent f14dc4f commit 7b8a450

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

Assets/UXF/Tests/Editor/TestFileIOManager.cs

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,20 @@ public class TestFileSaver
1111
string ppid = "test_ppid";
1212
int sessionNum = 1;
1313
FileSaver fileSaver;
14+
Session session;
1415

1516
[SetUp]
1617
public void SetUp()
1718
{
1819
var gameObject = new GameObject();
1920
fileSaver = gameObject.AddComponent<FileSaver>();
2021
fileSaver.verboseDebug = true;
22+
if (Session.instance != null) GameObject.DestroyImmediate(Session.instance.gameObject);
23+
session = gameObject.AddComponent<Session>();
24+
session.experimentName = "test_experiment";
25+
session.ppid = "P001";
26+
session.number = 1;
27+
fileSaver.Initialise(session);
2128
}
2229

2330

@@ -149,5 +156,80 @@ public void FileSaverRelPath()
149156
SystemInfo.operatingSystemFamily == OperatingSystemFamily.Windows ? "123" : "../123"
150157
);
151158
}
159+
160+
[Test]
161+
public void TestBackupSession()
162+
{
163+
fileSaver.StoragePath = "test_output";
164+
fileSaver.backupSessionIfExists = true;
165+
if (Directory.Exists(fileSaver.StoragePath))
166+
{
167+
Directory.Delete(fileSaver.StoragePath, true);
168+
}
169+
170+
fileSaver.SetUp();
171+
172+
string fileName = "testMoveToBackup";
173+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
174+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
175+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
176+
177+
fileSaver.CleanUp();
178+
System.Threading.Thread.Sleep(500);
179+
180+
fileSaver.SetUp();
181+
182+
fileName = "testMoveToBackup";
183+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
184+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
185+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
186+
187+
fileSaver.CleanUp();
188+
189+
string testFilesDirectory = fileSaver.GetSessionPath(session.experimentName, session.ppid, session.number);
190+
191+
string[] directories = Directory.GetDirectories(Directory.GetParent(testFilesDirectory).ToString(), $"{FileSaver.SessionNumToName(1)}*", SearchOption.TopDirectoryOnly);
192+
Assert.AreEqual(directories.Length, 2);
193+
194+
Directory.Delete(fileSaver.StoragePath, true);
195+
}
196+
197+
[Test]
198+
public void TestSessionOverwrite()
199+
{
200+
fileSaver.StoragePath = "test_output";
201+
fileSaver.backupSessionIfExists = false;
202+
if (Directory.Exists(fileSaver.StoragePath))
203+
{
204+
Directory.Delete(fileSaver.StoragePath, true);
205+
}
206+
207+
fileSaver.SetUp();
208+
209+
string fileName = "testMoveToBackup";
210+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
211+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
212+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
213+
214+
fileSaver.CleanUp();
215+
System.Threading.Thread.Sleep(500);
216+
217+
fileSaver.SetUp();
218+
219+
fileName = "testMoveToBackup";
220+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
221+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
222+
fileSaver.HandleText("", session.experimentName, session.ppid, session.number, fileName, UXFDataType.TrialResults);
223+
224+
fileSaver.CleanUp();
225+
226+
string testFilesDirectory = fileSaver.GetSessionPath(session.experimentName, session.ppid, session.number);
227+
228+
string[] directories = Directory.GetDirectories(Directory.GetParent(testFilesDirectory).ToString(), $"{FileSaver.SessionNumToName(1)}*", SearchOption.TopDirectoryOnly);
229+
Assert.AreEqual(directories.Length, 1);
230+
231+
Directory.Delete(fileSaver.StoragePath, true);
232+
}
152233
}
234+
153235
}

0 commit comments

Comments
 (0)