public void Install_1() { var source = ManifestUtilsTests.Get_TEZT_PATH(); var target = source+"_INSTALLED"; using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var sourceDir = session[source] as FileSystemDirectory; var manifest = ManifestUtils.GeneratePackagingManifest(sourceDir, packageName: "Package1"); var fn = Path.Combine(source, ManifestUtils.MANIFEST_FILE_NAME); try { manifest.Configuration.ToLaconicFile(fn); var set = new List<LocalInstallation.PackageInfo> { new LocalInstallation.PackageInfo("Package1", sourceDir, null)//no relative path }; using(var install = new LocalInstallation(target)) { Console.WriteLine("Installed anew: "+ install.CheckLocalAndInstallIfNeeded(set)); } } finally { IOMiscUtils.EnsureFileEventuallyDeleted(fn); } } }
public void DeepCopy_1() { var p1 = ManifestUtilsTests.Get_TEZT_PATH(); var p2 = p1+"_2"; IOMiscUtils.EnsureDirectoryDeleted(p2); Directory.CreateDirectory(p2); using(var fs = new LocalFileSystem("L1")) { using(var session = fs.StartSession()) { var fromDir = session[p1] as FileSystemDirectory; var manifest1 = ManifestUtils.GeneratePackagingManifest(fromDir); var toDir = session[p2] as FileSystemDirectory; fromDir.DeepCopyTo(toDir, FileSystemDirectory.DirCopyFlags.Directories | FileSystemDirectory.DirCopyFlags.Files); var manifest2 = ManifestUtils.GeneratePackagingManifest(toDir); Console.WriteLine(manifest1.Configuration.ContentView); Assert.IsTrue( ManifestUtils.HasTheSameContent(manifest1, manifest2) ); } } }
public void Connect_NavigateRootDir() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; Assert.AreEqual(@"c:\", dir.ParentPath); Assert.AreEqual(@"c:\NFX", dir.Path); } }
public void CreateDeleteDir() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; var dir2 = dir[DIR_1] as FileSystemDirectory; Assert.IsNull( dir2 ); dir2 = dir.CreateDirectory(DIR_1); Assert.AreEqual(DIR_1, ((FileSystemDirectory)dir[DIR_1]).Name); Assert.AreEqual(DIR_1, ((FileSystemDirectory)dir2[""]).Name); Assert.IsTrue( Directory.Exists(dir2.Path)); Assert.AreEqual(DIR_1, dir2.Name); dir2.Delete(); Assert.IsFalse( Directory.Exists(dir2.Path)); } }
public void Parallel_CreateWriteReadFile() { using(var fs = new LocalFileSystem("L1")) { System.Threading.Tasks.Parallel.For(PARALLEL_FROM, PARALLEL_TO, (i)=> { var fn = FN_PARALLEL_MASK.Args(i); var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; using (var file = dir.CreateFile(fn)) { file.WriteAllText("Hello, {0}".Args(i)); } using (var file = session[fs.CombinePaths(LOCAL_ROOT, fn)] as FileSystemFile) { Assert.AreEqual( "Hello, {0}".Args(i), file.ReadAllText()); file.Delete(); } Assert.IsNull( session[fs.CombinePaths(LOCAL_ROOT, fn)] ); });//Parallel.For } }
public void CreateWriteReadFile_3() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; using (var file = dir.CreateFile(FN4)) { file.WriteAllText("Hello,"); file.WriteAllText("this will overwrite"); } using (var file = session[fs.CombinePaths(LOCAL_ROOT, FN4)] as FileSystemFile) { Assert.AreEqual( "this will overwrite", file.ReadAllText()); } } }
public void CreateWriteReadFile_1() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; using (var file = dir.CreateFile(FN2)) { var str = file.FileStream; var wri = new BinaryWriter(str); wri.Write( "Hello!" ); wri.Write( true ); wri.Write( 27.4d ); wri.Close(); } using (var file = session[fs.CombinePaths(LOCAL_ROOT, FN2)] as FileSystemFile) { var str = file.FileStream; var rdr = new BinaryReader(str); Assert.AreEqual( "Hello!", rdr.ReadString()); Assert.AreEqual( true, rdr.ReadBoolean()); Assert.AreEqual( 27.4d, rdr.ReadDouble()); } } }
public void CreateWriteCopyReadFile() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; using (var file = dir.CreateFile(FN2)) { var str = file.FileStream; var wri = new BinaryWriter(str); wri.Write( "Hello!" ); wri.Write( true ); wri.Write( 27.4d ); wri.Close(); } //FN3 copied from FN2 and made readonly Assert.IsNotNull( dir.CreateFile(FN3, Path.Combine(LOCAL_ROOT, FN2), true) ); using (var file = session[fs.CombinePaths(LOCAL_ROOT, FN3)] as FileSystemFile) { Assert.IsTrue( file.ReadOnly); Assert.IsTrue( file.IsReadOnly); var str = file.FileStream; var rdr = new BinaryReader(str); Assert.AreEqual( "Hello!", rdr.ReadString()); Assert.AreEqual( true, rdr.ReadBoolean()); Assert.AreEqual( 27.4d, rdr.ReadDouble()); file.ReadOnly = false; Assert.IsFalse( file.ReadOnly); Assert.IsFalse( file.IsReadOnly); } } }
public void CreateFile() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; var file = dir.CreateFile(FN1, 1500); Assert.AreEqual(FN1, file.Name); Assert.IsTrue( File.Exists(file.Path)); Assert.AreEqual(1500, new FileInfo(file.Path).Length); Assert.AreEqual(1500, file.FileStream.Length); } }
public void CreateDirCreateFileDeleteDir() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; Assert.AreEqual(1, session.Items.Count());//checking item registation via .ctor/.dctor var dir2 = dir[DIR_1] as FileSystemDirectory; Assert.IsNull( dir2 ); Assert.AreEqual(1, session.Items.Count());//checking item registation via .ctor/.dctor dir2 = dir.CreateDirectory(DIR_1); Assert.AreEqual(2, session.Items.Count());//checking item registation via .ctor/.dctor Assert.IsTrue( Directory.Exists(dir2.Path)); Assert.AreEqual(DIR_1, dir2.Name); var f = dir2.CreateFile(FN1, 237); Assert.AreEqual(3, session.Items.Count());//checking item registation via .ctor/.dctor Assert.IsTrue( File.Exists(f.Path)); Assert.AreEqual(237, dir2.Size); Assert.IsTrue( dir.SubDirectoryNames.Contains(DIR_1) ); Assert.IsTrue( dir2.FileNames.Contains(FN1) ); dir2.Delete(); Assert.AreEqual(2, session.Items.Count());//checking item registation via .ctor/.dctor Assert.IsFalse( Directory.Exists(dir2.Path)); Assert.IsFalse( File.Exists(f.Path)); Assert.AreEqual(1, fs.Sessions.Count());//checking item registation via .ctor/.dctor session.Dispose(); Assert.AreEqual(0, fs.Sessions.Count());//checking item registation via .ctor/.dctor Assert.AreEqual(0, session.Items.Count());//checking item registation via .ctor/.dctor } }
public void CreateDeleteFile() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[LOCAL_ROOT] as FileSystemDirectory; var file = dir.CreateFile(FN1, 1500); Assert.AreEqual(FN1, file.Name); Assert.IsTrue( File.Exists(file.Path)); Assert.AreEqual(1500, new FileInfo(file.Path).Length); Assert.AreEqual(1500, file.FileStream.Length); Assert.AreEqual(1500, file.Size); var file2 = session[fs.CombinePaths(LOCAL_ROOT, FN1)]; Assert.IsNotNull( file2); Assert.IsTrue(file2 is FileSystemFile); Assert.AreEqual(FN1, ((FileSystemFile)file2).Name); file.Dispose(); file2.Delete(); Assert.IsFalse( File.Exists(file2.Path)); } }
public void Generate_1() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[Get_TEZT_PATH()] as FileSystemDirectory; var manifest = ManifestUtils.GeneratePackagingManifest(dir); Console.WriteLine(manifest.Configuration.ContentView); Assert.AreEqual("SubDir1", manifest[0].AttrByName(ManifestUtils.CONFIG_NAME_ATTR).Value); Assert.AreEqual("SubDir2", manifest[1].AttrByName(ManifestUtils.CONFIG_NAME_ATTR).Value); Assert.AreEqual("Gagarin.txt", manifest[2].AttrByName(ManifestUtils.CONFIG_NAME_ATTR).Value); Assert.AreEqual("TextFile1.txt", manifest[3].AttrByName(ManifestUtils.CONFIG_NAME_ATTR).Value); Assert.AreEqual(500066, manifest[0].Children.First(c=>c.IsSameNameAttr("Bitmap1.bmp")).AttrByName(ManifestUtils.CONFIG_SIZE_ATTR).ValueAsInt()); Assert.AreEqual(1248671023, manifest[0].Children.First(c=>c.IsSameNameAttr("Bitmap1.bmp")).AttrByName(ManifestUtils.CONFIG_CSUM_ATTR).ValueAsInt()); Assert.AreEqual(105, manifest[0].Children.First(c=>c.IsSameNameAttr("Some Text File With Spaces.txt")).AttrByName(ManifestUtils.CONFIG_SIZE_ATTR).ValueAsInt()); Assert.AreEqual(1399856254, manifest[0].Children.First(c=>c.IsSameNameAttr("Some Text File With Spaces.txt")).AttrByName(ManifestUtils.CONFIG_CSUM_ATTR).ValueAsInt()); } }
public void Compare_4() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[Get_TEZT_PATH()] as FileSystemDirectory; var manifest1 = ManifestUtils.GeneratePackagingManifest(dir); var manifest2 = ManifestUtils.GeneratePackagingManifest(dir); manifest2[2].Delete(); Assert.IsFalse( manifest1.HasTheSameContent(manifest2) ); } }
public void Compare_3() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[Get_TEZT_PATH()] as FileSystemDirectory; var manifest1 = ManifestUtils.GeneratePackagingManifest(dir); var manifest2 = ManifestUtils.GeneratePackagingManifest(dir); manifest2[0].Children.First(c=>c.IsSameNameAttr("Some Text File With Spaces.txt")).AttrByName(ManifestUtils.CONFIG_SIZE_ATTR).Value = "123"; Assert.IsFalse( manifest1.HasTheSameContent(manifest2) ); } }
public void Compare_2() { using(var fs = new LocalFileSystem("L1")) { var session = fs.StartSession(); var dir = session[Get_TEZT_PATH()] as FileSystemDirectory; var manifest1 = ManifestUtils.GeneratePackagingManifest(dir); var manifest2 = NFX.Environment.LaconicConfiguration.CreateFromString(EXPECTED).Root; Assert.IsTrue( manifest1.HasTheSameContent(manifest2) ); } }