Ejemplo n.º 1
0
        /// <summary>
        /// <see cref="IImagesService{ImageContentType}.GetImages(string)"/>
        /// </summary>
        public IEnumerable <Image <ImageContentType> > GetImages(string pathToDirectory)
        {
            var rootDirectory = _subdirectoriesPathProvider.ContainsSubFolders(pathToDirectory) ?
                                (Directory <ImageContentType>) CompositiveDirectory <ImageContentType> .New(_imageContentProvider, _fileNameProvider, pathToDirectory) : SimpleDirectory <ImageContentType> .New(_imageContentProvider, _fileNameProvider, pathToDirectory);

            BuildDirectoriesTree(rootDirectory);

            return(rootDirectory.GetImages(_imageContentProvider.GetSupportedImageFormats()));
        }
Ejemplo n.º 2
0
        public void Constructor_Throws_WhenPathIsNull()
        {
            //arrange
            var imageContentProvider = new Mock <IImageContentProvider <string> >();
            var fileNameProvider     = new Mock <IFileNameProvider>();

            //act
            var sut = new CompositiveDirectory <string>(imageContentProvider.Object, fileNameProvider.Object, null);
        }
Ejemplo n.º 3
0
        public void Constructor_Throws_WhenFileNameProviderIsNull()
        {
            //arrange
            var imageContentProvider = new Mock <IImageContentProvider <string> >();
            var path = string.Empty;

            //act
            var sut = new CompositiveDirectory <string>(imageContentProvider.Object, null, path);
        }
Ejemplo n.º 4
0
        public void Construct_NoExceptions_WhenAllIsOk()
        {
            //arrange
            var imageContentProvider = new Mock <IImageContentProvider <string> >();
            var fileNameProvider     = new Mock <IFileNameProvider>();
            var path = string.Empty;

            //act
            var sut = new CompositiveDirectory <string>(imageContentProvider.Object, fileNameProvider.Object, path);
        }
Ejemplo n.º 5
0
        public void AddSubdirectory_Throws_WhenSubDirectoryIsNull()
        {
            //arrange
            CompositiveDirectory <string> subDirectory = null;

            //act
            var sut = MockedItemsFactory.ProvideDefaultDirectory((x, y, z) => new CompositiveDirectory <string>(x, y, z));

            sut.AddSubdirectory(subDirectory);
        }
Ejemplo n.º 6
0
        private void BuildDirectoriesTree(Directory <ImageContentType> directory)
        {
            IEnumerable <Directory <ImageContentType> > subDirectories = _subdirectoriesPathProvider.GetSubDirectoriesPath(directory.Path)?.Select(x =>
                                                                                                                                                   _subdirectoriesPathProvider.ContainsSubFolders(x) ?
                                                                                                                                                   (Directory <ImageContentType>)CompositiveDirectory <ImageContentType> .New(_imageContentProvider, _fileNameProvider, x) : SimpleDirectory <ImageContentType> .New(_imageContentProvider, _fileNameProvider, x)
                                                                                                                                                   );

            if (subDirectories != null)
            {
                var root = directory as CompositiveDirectory <ImageContentType>
                           ?? throw new InvalidOperationException($"Simple directory cannot contain sub folders; Path to directory {directory.Path}");
                ((CompositiveDirectory <ImageContentType>)directory).AddRangeOfSubdirectories(subDirectories);
                foreach (var subDirectory in subDirectories)
                {
                    BuildDirectoriesTree(subDirectory);
                }
            }
        }