@@ -171,6 +171,81 @@ public void Test_StorageHelper_NewPersonTest()
171
171
Assert . AreEqual ( input . Age , output . Age ) ;
172
172
}
173
173
174
+ [ TestCategory ( "Helpers" ) ]
175
+ [ TestMethod ]
176
+ public async Task Test_StorageHelper_FileCRUDTest ( )
177
+ {
178
+ var fileName = "TestFile.txt" ;
179
+ var fileName2 = "TestFile2.txt" ;
180
+ var fileContents = "this is a test" ;
181
+ var fileContents2 = "this is also a test" ;
182
+ var storageHelper = ApplicationDataStorageHelper . GetCurrent ( ) ;
183
+
184
+ // Create a file
185
+ await storageHelper . CreateFileAsync ( fileName , fileContents ) ;
186
+
187
+ // Read a file
188
+ var readContents = await storageHelper . ReadFileAsync < string > ( fileName ) ;
189
+ Assert . AreEqual ( fileContents , readContents ) ;
190
+
191
+ // Update a file
192
+ await storageHelper . CreateFileAsync ( fileName , fileContents2 ) ;
193
+ var readContents2 = await storageHelper . ReadFileAsync < string > ( fileName ) ;
194
+ Assert . AreEqual ( fileContents2 , readContents2 ) ;
195
+
196
+ // Rename a file
197
+ var itemRenamed = await storageHelper . TryRenameItemAsync ( fileName , fileName2 ) ;
198
+ Assert . IsTrue ( itemRenamed ) ;
199
+
200
+ // Delete a file
201
+ var itemDeleted = await storageHelper . TryDeleteItemAsync ( fileName2 ) ;
202
+ Assert . IsTrue ( itemDeleted ) ;
203
+ }
204
+
205
+ [ TestCategory ( "Helpers" ) ]
206
+ [ TestMethod ]
207
+ public async Task Test_StorageHelper_SubFolderCRUDTest ( )
208
+ {
209
+ var folderName = "TestFolder" ;
210
+ var subFolderName = "TestSubFolder" ;
211
+ var subFolderName2 = "TestSubFolder2" ;
212
+ var subFolderPath = $ "{ folderName } /{ subFolderName } ";
213
+ var subFolderPath2 = $ "{ folderName } /{ subFolderName2 } ";
214
+ var fileName = "TestFile.txt" ;
215
+ var filePath = $ "{ subFolderPath } /{ fileName } ";
216
+
217
+ var fileContents = "this is a test" ;
218
+ var storageHelper = ApplicationDataStorageHelper . GetCurrent ( ) ;
219
+
220
+ // Create a folder
221
+ await storageHelper . CreateFolderAsync ( folderName ) ;
222
+
223
+ // Create a subfolder
224
+ await storageHelper . CreateFolderAsync ( subFolderPath ) ;
225
+
226
+ // Create a file in the subfolder
227
+ await storageHelper . CreateFileAsync ( filePath , fileContents ) ;
228
+
229
+ // Read a file from the subfolder
230
+ var readContents = await storageHelper . ReadFileAsync < string > ( filePath ) ;
231
+ Assert . AreEqual ( fileContents , readContents ) ;
232
+
233
+ // List subfolder contents
234
+ var folderItems = await storageHelper . ReadFolderAsync ( subFolderPath ) ;
235
+ var folderItemsList = folderItems . ToList ( ) ;
236
+ Assert . AreEqual ( 1 , folderItemsList . Count ( ) ) ;
237
+ Assert . AreEqual ( fileName , folderItemsList [ 0 ] . Name ) ;
238
+ Assert . AreEqual ( Microsoft . Toolkit . Helpers . DirectoryItemType . File , folderItemsList [ 0 ] . ItemType ) ;
239
+
240
+ // Rename a subfolder
241
+ var itemRenamed = await storageHelper . TryRenameItemAsync ( subFolderPath , subFolderName2 ) ;
242
+ Assert . IsTrue ( itemRenamed ) ;
243
+
244
+ // Delete a subfolder
245
+ var itemDeleted = await storageHelper . TryDeleteItemAsync ( subFolderPath2 ) ;
246
+ Assert . IsTrue ( itemDeleted ) ;
247
+ }
248
+
174
249
public class Person
175
250
{
176
251
public string Name { get ; set ; }
0 commit comments