public void AddOrGet_NewDir_CreatesSubdirs() { // arrange var container = new DirectoryControlBlockContainer(); var id = new DirectoryIdentifier(@"c:\temp\folder\subfolder"); // act container.AddOrGet(id, out _); // assert Assert.IsTrue(container.TryGet(new DirectoryIdentifier(@"c:\"), out var c)); Assert.IsNotNull(c); Assert.AreEqual(@"c:\", c.Name); Assert.IsTrue(container.TryGet(new DirectoryIdentifier(@"c:\temp"), out var temp)); Assert.IsNotNull(temp); Assert.AreEqual(@"c:\temp\", temp.Name); Assert.IsTrue(container.TryGet(new DirectoryIdentifier(@"c:\temp\folder"), out var folder)); Assert.IsNotNull(folder); Assert.AreEqual(@"c:\temp\folder\", folder.Name); Assert.IsTrue(container.TryGet(new DirectoryIdentifier(@"c:\temp\folder\subfolder"), out var subfolder)); Assert.IsNotNull(subfolder); Assert.AreEqual(@"c:\temp\folder\subfolder\", subfolder.Name); }
public void DifferentPaths_ArentEqual(string lhsVal, string rhsVal) { var lhs = new DirectoryIdentifier(lhsVal); var rhs = new DirectoryIdentifier(rhsVal); Assert.AreNotEqual(lhs, rhs); Assert.AreNotEqual(lhs.GetHashCode(), rhs.GetHashCode()); }
public void TryGet_NonExistingDir_ReturnsFalse() { // arrange var id = new DirectoryIdentifier(@"c:\temp\folder\subfolder"); var container = new DirectoryControlBlockContainer(); container.AddOrGet(id, out _); // assert Assert.IsFalse(container.TryGet(new DirectoryIdentifier(@"c:\othertemp"), out var _)); Assert.IsFalse(container.TryGet(new DirectoryIdentifier(@"c:\temp\subtemp"), out _)); }
public void AddOrGet_NewDir_WholePathIsNew_ReturnsAllAddedItems() { // arrange var container = new DirectoryControlBlockContainer(); var id = new DirectoryIdentifier(@"c:\temp\folder\subfolder"); // act var added = container.AddOrGet(id, out var result); // assert Assert.IsTrue(added); Assert.AreEqual(4, result.Count); Assert.AreEqual(new DirectoryIdentifier(@"c:\"), result[0].Idendifier); Assert.AreEqual(new DirectoryIdentifier(@"c:\temp"), result[1].Idendifier); Assert.AreEqual(new DirectoryIdentifier(@"c:\temp\folder"), result[2].Idendifier); Assert.AreEqual(new DirectoryIdentifier(@"c:\temp\folder\subfolder"), result[3].Idendifier); }