コード例 #1
0
        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);
        }
コード例 #2
0
        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());
        }
コード例 #3
0
        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 _));
        }
コード例 #4
0
        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);
        }