public async Task OpenFile_AutoDetect_FunctionalityTest_CustomOpenerAndDetector() { // Set up var manager = new PluginManager(); var coreMod = new TestCoreMod(); await manager.LoadCore(coreMod); manager.CurrentFileSystem.WriteAllText("/test.custom", "magic data"); // Test var file = await IOHelper.OpenFile("/test.custom", IOHelper.PickFirstDuplicateMatchSelector, manager); Assert.IsNotNull(file); if (file is CustomTextFile) { Assert.AreEqual("magic data", (file as CustomTextFile).Contents); } else { Assert.Fail("Opened type should have been CustomTextFile. Actual type: " + file.GetType().Name); } }
public async Task OpenDirectory_AutoDetect_FunctionalityTest_ValidType() { // Set up var manager = new PluginManager(); var coreMod = new TestCoreMod(); await manager.LoadCore(coreMod); manager.CurrentFileSystem.CreateDirectory("/test"); // Test var dir = await IOHelper.OpenDirectory("/test", IOHelper.PickFirstDuplicateMatchSelector, manager); Assert.IsNotNull(dir); if (dir is ADirectoryFormat) { Assert.AreEqual("/test", (dir as ADirectoryFormat).Path); } else { Assert.Fail("Opened type should have been ADirectoryFormat. Actual type: " + dir.GetType().Name); } }
public async Task OpenFile_SpecificType_FunctionalityTest_Directory() { // Set up var manager = new PluginManager(); var coreMod = new TestCoreMod(); await manager.LoadCore(coreMod); manager.CurrentFileSystem.CreateDirectory("/test"); // Test var dir = await IOHelper.OpenFile("/test", typeof(ADirectoryFormat).GetTypeInfo(), manager); Assert.IsNotNull(dir); if (dir is ADirectoryFormat) { Assert.AreEqual("/test", (dir as ADirectoryFormat).Path); } else { Assert.Fail("Opened type should have been ADirectoryFormat. Actual type: " + dir.GetType().Name); } }