public void CreateDirectoryTest()
        {
            // Arrange
            var table         = "MyTable";
            var tableRoot     = @"\MyTableDir";
            var dirStructure  = @"dir1\dir2\dir3";
            var dirManager    = new FileTableManager();
            var fileTableRepo = new Mock <FileTableRepo>();
            var id1           = SqlHierarchyId.Parse("/0/");
            var id2           = SqlHierarchyId.Parse("/0/1/");
            var id3           = SqlHierarchyId.Parse("/0/1/2/");

            fileTableRepo.Setup(m => m.FindPath(table, It.IsAny <string>(), true, It.IsAny <SqlConnection>(), false)).Returns <string>(null);
            fileTableRepo.Setup(m => m.CreateDirectory(table, "dir1", It.IsAny <SqlHierarchyId>(), It.IsAny <SqlConnection>(), false)).Returns(id1);
            fileTableRepo.Setup(m => m.CreateDirectory(table, "dir2", It.IsAny <SqlHierarchyId>(), It.IsAny <SqlConnection>(), false)).Returns(id2);
            fileTableRepo.Setup(m => m.CreateDirectory(table, "dir3", It.IsAny <SqlHierarchyId>(), It.IsAny <SqlConnection>(), true)).Returns(id3);
            fileTableRepo.Setup(m => m.GetTableRootPath(table, 0, null)).Returns(tableRoot);
            dirManager.FileTableRepo = fileTableRepo.Object;

            // Act
            var pathId = dirManager.CreateDirectory(table, dirStructure, null, true);

            // Assert
            Assert.AreEqual(id3, pathId);
        }
        public void CreateDirectoryAlreadyExistsTest()
        {
            // Arrange
            var table         = "MyTable";
            var tableRoot     = @"\MyTableDir";
            var dirStructure  = @"dir1\dir2\dir3";
            var dirManager    = new FileTableManager();
            var fileTableRepo = new Mock <FileTableRepo>();
            var stringId      = "/0/";
            var id            = SqlHierarchyId.Parse(stringId);

            fileTableRepo.Setup(m => m.FindPath(table, dirStructure, true, It.IsAny <SqlConnection>(), false)).Returns(id);
            fileTableRepo.Setup(m => m.GetTableRootPath(table, 0, null)).Returns(tableRoot);
            dirManager.FileTableRepo = fileTableRepo.Object;

            // Act
            var pathId = dirManager.CreateDirectory(table, dirStructure, null, true);

            // Assert
            Assert.AreEqual(stringId, pathId.ToString());
        }