@@ -11,13 +11,20 @@ public class TestFileSaver
11
11
string ppid = "test_ppid" ;
12
12
int sessionNum = 1 ;
13
13
FileSaver fileSaver ;
14
+ Session session ;
14
15
15
16
[ SetUp ]
16
17
public void SetUp ( )
17
18
{
18
19
var gameObject = new GameObject ( ) ;
19
20
fileSaver = gameObject . AddComponent < FileSaver > ( ) ;
20
21
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 ) ;
21
28
}
22
29
23
30
@@ -149,5 +156,80 @@ public void FileSaverRelPath()
149
156
SystemInfo . operatingSystemFamily == OperatingSystemFamily . Windows ? "123" : "../123"
150
157
) ;
151
158
}
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
+ }
152
233
}
234
+
153
235
}
0 commit comments