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); }
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); }
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); }
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)); }
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); }
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); } } }
/// <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())); }