public void TestExists() { var testDir = new DirectoryInfo(Path.Combine(GetPath(), "TestDir")); testDir.Create(); testDir.Refresh(); try { Assert.IsTrue(testDir.Exists); var storage = new DirectoryStorage(GetDirectory()); Assert.IsTrue(storage.Exists("TestDir")); } catch (Exception e) { throw e; } finally { testDir.Refresh(); if (testDir.Exists) { testDir.Delete(true); } } }
public void TestRestoreBackup() { var testBackup = new DirectoryInfo(Path.Combine(GetPath(), "test_backup")); testBackup.Create(); testBackup.Refresh(); var test = new DirectoryInfo(Path.Combine(GetPath(), "test")); test.Refresh(); try { Assert.IsTrue(testBackup.Exists); var storage = new DirectoryStorage(GetDirectory()); var restored = storage.RestoreBackup(); Assert.AreEqual(1, restored.Count); Assert.AreEqual("test", restored[0]); Assert.IsTrue(storage.Exists("test")); } catch (Exception e) { throw e; } finally { testBackup.Refresh(); test.Refresh(); if (testBackup.Exists) { testBackup.Delete(true); } if (test.Exists) { test.Delete(true); } } }
public void TestDelete() { var directories = new List <DirectoryInfo>() { new DirectoryInfo(Path.Combine(GetPath(), "Dir0")), new DirectoryInfo(Path.Combine(GetPath(), "Dir1")), new DirectoryInfo(Path.Combine(GetPath(), "Dir2")), new DirectoryInfo(Path.Combine(GetPath(), "Dir3")), }; directories.ForEach(d => { d.Create(); d.Refresh(); }); try { directories.ForEach(d => { Assert.IsTrue(d.Exists); }); var storage = new DirectoryStorage(GetDirectory()); for (int i = 0; i < directories.Count; i++) { Assert.IsTrue(storage.Exists($"Dir{i}")); } storage.Delete("Dir3"); for (int i = 0; i < directories.Count; i++) { directories[i].Refresh(); if (i == directories.Count - 1) { Assert.IsFalse(directories[i].Exists); Assert.IsFalse(storage.Exists($"Dir{i}")); } else { Assert.IsTrue(directories[i].Exists); Assert.IsTrue(storage.Exists($"Dir{i}")); } } storage.DeleteAll(); for (int i = 0; i < directories.Count; i++) { directories[i].Refresh(); Assert.IsFalse(directories[i].Exists); Assert.IsFalse(storage.Exists($"Dir{i}")); } } catch (Exception e) { throw e; } finally { directories.ForEach(d => { d.Refresh(); if (d.Exists) { d.Delete(true); } }); } }