public void LibraryProviderFileSystem_NavigationWorking() { Datastore.Instance.Initialize(); Thread.Sleep(3000); // wait for the library to finish initializing LibraryProviderFileSystem testProvider = new LibraryProviderFileSystem(pathToMesh, "TestPath", null); Assert.IsTrue(testProvider.CollectionCount == 0, "Start with a new database for these tests."); Assert.IsTrue(testProvider.ItemCount == 1, "Start with a new database for these tests."); // create a collection and make sure it is on disk dataReloaded = false; // it has been loaded for the default set of parts string collectionName = "Collection1"; string createdDirectory = Path.Combine(pathToMesh, collectionName); Assert.IsTrue(!Directory.Exists(createdDirectory)); Assert.IsTrue(dataReloaded == false); testProvider.AddCollectionToLibrary(collectionName); Assert.IsTrue(testProvider.CollectionCount == 1); Assert.IsTrue(dataReloaded == true); Assert.IsTrue(Directory.Exists(createdDirectory)); PrintItemWrapper itemAtRoot = testProvider.GetPrintItemWrapper(0); List <ProviderLocatorNode> providerLocator = itemAtRoot.PrintItem.GetLibraryProviderLocator(); Assert.IsTrue(providerLocator.Count == 1); // add an item works correctly LibraryProvider subProvider = testProvider.GetProviderForItem(testProvider.GetCollectionItem(0)); dataReloaded = false; //itemAdded = false; string subPathAndFile = Path.Combine(createdDirectory, meshFileName); Assert.IsTrue(!File.Exists(subPathAndFile)); Assert.IsTrue(dataReloaded == false); //Assert.IsTrue(itemAdded == false); // WIP: saving the name incorectly for this location (does not need to be changed). subProvider.AddFilesToLibrary(new string[] { meshPathAndFileName }); Thread.Sleep(3000); // wait for the add to finihs Assert.IsTrue(subProvider.ItemCount == 1); Assert.IsTrue(dataReloaded == true); //Assert.IsTrue(itemAdded == true); Assert.IsTrue(File.Exists(subPathAndFile)); // make sure the provider locator is correct // remove item works dataReloaded = false; Assert.IsTrue(dataReloaded == false); subProvider.RemoveItem(subProvider.GetPrintItemWrapper(0)); Assert.IsTrue(dataReloaded == true); Assert.IsTrue(!File.Exists(subPathAndFile)); // remove collection gets rid of it dataReloaded = false; Assert.IsTrue(dataReloaded == false); testProvider.RemoveCollection(testProvider.GetCollectionItem(0)); Assert.IsTrue(dataReloaded == true); Assert.IsTrue(testProvider.CollectionCount == 0); Assert.IsTrue(!Directory.Exists(createdDirectory)); }