public void Delete_WithValidName_DeletesContainer(string directoryName)
        {
            // Arrange
              var expectedPath = "test" + System.IO.Path.DirectorySeparatorChar + directoryName;

              var mockedDirectory = MockedDirectory();
              mockedDirectory.Expect(x => x.Delete(expectedPath, true));
              var testManager = new FileSystemContainerManager("test", mockedDirectory);

              // Act
              testManager.Delete(directoryName);

              // Assert
              mockedDirectory.AssertWasCalled(x => x.Delete(expectedPath, true));
        }
        public void Delete_WithDirectoryName_ChecksProperPath(string directoryName)
        {
            // Arrange
              var expectedPath = "test" + Path.DirectorySeparatorChar + directoryName;

              var mockedDirectory = MockRepository.GenerateMock<IDirectoryWrap>();
              mockedDirectory.Expect(x => x.Exists(expectedPath)).Return(false);
              var testManager = new FileSystemContainerManager("test", mockedDirectory);

              // Act
              testManager.Delete(directoryName);

              // Assert
              mockedDirectory.AssertWasCalled(x => x.Exists(expectedPath));
        }
        public void Delete_WithEmptyName_ThrowsInvalidNameException(string directoryName)
        {
            // Arrange
              var testManager = new FileSystemContainerManager("test", MockedDirectory());

              // Act & Assert
              Assert.Throws<InvalidNameException>(() => testManager.Delete(directoryName));
        }
        public void Delete_DirectoryDoesNotExist_DoesNotCallDelete(string directoryName)
        {
            // Arrange
              var mockedDirectory = MockedDirectory(false);
              mockedDirectory.Expect(x => x.Delete(directoryName, true));
              var testManager = new FileSystemContainerManager("test", mockedDirectory);

              // Act
              testManager.Delete(directoryName);

              // Assert
              mockedDirectory.AssertWasNotCalled(x => x.Delete(directoryName, true));
        }