Beispiel #1
0
        public FSEntry Find(string path)
        {
            // good:  /foo/bar, /foo/bar/
            // bad:  foo, foo/bar, //foo/bar, /foo//bar, /foo/../foo/bar
            VirtualNode current = virtualFileSystem.RootNode;

            string[] elements = path.Split(PATH_SEPARATOR);

            foreach (string element in elements.Skip(1))
            {
                VirtualNode child = current.GetChild(element);
                if (child != null)
                {
                    current = child;
                }
                else
                {
                    return(null);
                }
            }

            FSEntry result = null;

            if (current.IsDirectory)
            {
                result = new SimpleDirectory(current);
            }
            else
            {
                result = new SimpleFile(current);
            }

            return(result);
        }
        public void CreateAndRemoveTest()
        {
            var targetDirectory = Application.streamingAssetsPath + "/InitTestDirectory";

            var info1 = SimpleDirectory.CreateDir(targetDirectory);

            Assert.IsNotNull(info1);
            Assert.AreEqual(1, SimpleDirectory.GetFileName(targetDirectory).Count);

            var info2 = SimpleDirectory.CreateDir(targetDirectory);

            Assert.IsNull(info2);
            Assert.AreEqual(1, SimpleDirectory.GetFileName(targetDirectory).Count);

            var info3 = SimpleDirectory.CreateDir(targetDirectory + "/testdir");

            Assert.IsNotNull(info3);
            Assert.AreEqual(2, SimpleDirectory.GetFileName(targetDirectory).Count);

            File.WriteAllText(targetDirectory + "/a.json", JsonUtility.ToJson(new TestJson("value1", "value2")));
            Assert.AreEqual(3, SimpleDirectory.GetFileName(targetDirectory).Count);

            SimpleDirectory.DeleteDir(targetDirectory);
            Assert.AreEqual(0, SimpleDirectory.GetFileName(targetDirectory).Count);
        }
Beispiel #3
0
        public void Constructor_Throws_WhenPathIsNull()
        {
            //arrange
            var imageContentProvider = new Mock <IImageContentProvider <string> >();
            var fileNameProvider     = new Mock <IFileNameProvider>();

            //act
            var sut = new SimpleDirectory <string>(imageContentProvider.Object, fileNameProvider.Object, null);
        }
Beispiel #4
0
        public void Constructor_Throws_WhenFileNameProviderIsNull()
        {
            //arrange
            var imageContentProvider = new Mock <IImageContentProvider <string> >();
            var path = string.Empty;

            //act
            var sut = new SimpleDirectory <string>(imageContentProvider.Object, null, path);
        }
Beispiel #5
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 SimpleDirectory <string>(imageContentProvider.Object, fileNameProvider.Object, path);
        }
        public static SimpleFileSystem SingleFile()
        {
            var borisTxt = new SimpleStringFile("Boris.txt", "Hello world (InMemory)");

            borisTxt.BasicMetadata.Created = DateTime.Today.AddYears(-1);
            borisTxt.BasicMetadata.Written = DateTime.Today;
            var rootDirectory = new SimpleDirectory("",
                                                    borisTxt
                                                    );

            return(new SimpleFileSystem(rootDirectory));
        }
Beispiel #7
0
        public IEnumerator RecordingTest()
        {
            LogAssert.ignoreFailingMessages = true;

            var dir = Application.streamingAssetsPath + "/InitTestRecorder";

            SimpleDirectory.DeleteDir(dir);
            SimpleDirectory.CreateDir(dir);
            Assert.AreEqual(1, SimpleDirectory.GetFileName(dir).Count);

            // var setting = new CaptureRecorderSetting( $"{dir}/record", Screen.width, Screen.height);
            var setting = new CaptureRecorderSetting($"{dir}/record", 0, 0);

            SimpleCaptureRecorder.StartRecording(setting);
            yield return(null);

            SimpleCaptureRecorder.StopRecording(setting);

            Assert.AreEqual(1, SimpleDirectory.GetFileName(dir).Count);
            LogAssert.ignoreFailingMessages = false;
        }
        public IEnumerator TakeTest()
        {
            var camera = GameObject.CreatePrimitive(PrimitiveType.Cube).AddComponent <Camera>();
            var dir    = Application.streamingAssetsPath + "/InitTestCapture";

            SimpleDirectory.DeleteDir(dir);
            SimpleDirectory.CreateDir(dir);
            Assert.AreEqual(1, SimpleDirectory.GetFileName(dir).Count);

            var setting = new SnapshotSetting(camera, $"{dir}/cature.png")
            {
                Timing = null
            };

            SimpleSnapshot.Take(setting);
            yield return(null);

            yield return(null);

            Assert.AreEqual(2, SimpleDirectory.GetFileName(dir).Count);
        }
Beispiel #9
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);
                }
            }
        }
Beispiel #10
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()));
        }