Inheritance: IPackagingFolderPathProvider
        public void Constructor_AllParametersAreSet_ObjectIsInstantiated()
        {
            // Arrange
            var applicationInformation = new ApplicationInformation();
            IFilesystemAccessor filesystemAccessor = new Mock<IFilesystemAccessor>().Object;

            // Act
            var result = new PackagingFolderPathProvider(applicationInformation, filesystemAccessor);

            // Arrange
            Assert.IsNotNull(result);
        }
        public void GetPackagingFolderPath_DirectoryExistsIsCalled()
        {
            // Arrange
            bool directoryExistsGotCalled = false;

            var applicationInformation = ApplicationInformationProvider.GetApplicationInformation();

            var filesystemAccessorMock = new Mock<IFilesystemAccessor>();
            filesystemAccessorMock.Setup(f => f.DirectoryExists(applicationInformation.PackagingFolder)).Returns(
                () =>
                    {
                        directoryExistsGotCalled = true;
                        return true;
                    });

            var packagingFolderPathProvider = new PackagingFolderPathProvider(applicationInformation, filesystemAccessorMock.Object);

            // Act
            packagingFolderPathProvider.GetPackagingFolderPath();

            // Assert
            Assert.IsTrue(directoryExistsGotCalled);
        }
        public void GetPackagingFolderPath_ResultEqulsFolderSpecifiedByTheApplicationInformationPackagingFolderProperty()
        {
            // Arrange
            var applicationInformation = ApplicationInformationProvider.GetApplicationInformation();
            var filesystemAccessorMock = new Mock<IFilesystemAccessor>();
            filesystemAccessorMock.Setup(f => f.DirectoryExists(It.IsAny<string>())).Returns(true);

            var packagingFolderPathProvider = new PackagingFolderPathProvider(applicationInformation, filesystemAccessorMock.Object);

            // Act
            var result = packagingFolderPathProvider.GetPackagingFolderPath();

            // Assert
            Assert.AreEqual(applicationInformation.PackagingFolder, result);
        }