public async Task StoreAssetFile()
        {
            StaticData.RootPath = TestContext.CurrentContext.ResolveProjectPath(4, "StaticData");
            MatterControlUtilities.OverrideAppDataLocation(TestContext.CurrentContext.ResolveProjectPath(4));

            // Create sample asset file
            string tempFile = ApplicationDataStorage.Instance.GetNewLibraryFilePath(".txt");

            Directory.CreateDirectory(Path.GetDirectoryName(tempFile));
            File.WriteAllText(tempFile, "Sample Text");

            // Set directory for asset resolution
            Object3D.AssetsPath = ApplicationDataStorage.Instance.LibraryAssetsPath;
            Directory.CreateDirectory(Object3D.AssetsPath);

            foreach (var file in Directory.GetFiles(Object3D.AssetsPath))
            {
                File.Delete(file);
            }
            Assert.AreEqual(0, Directory.GetFiles(Object3D.AssetsPath).Length);

            // Create AssetManager
            var assetManager = new MockAssetManager();

            AssetObject3D.AssetManager = assetManager;

            // Store
            string result = await AssetObject3D.AssetManager.StoreFile(tempFile, false, CancellationToken.None, null);

            // Validate
            Assert.AreEqual(1, Directory.GetFiles(Object3D.AssetsPath).Length, "Unexpected asset file count");
            Assert.AreEqual("8FB7B108E5F0A7FAE84DF849DDE830FED5B5F786.txt", result, "Unexpected asset name");
            Assert.AreEqual(0, assetManager.PublishCount, "No files should have been published");
        }
        public async Task StoreMesh()
        {
            StaticData.RootPath = TestContext.CurrentContext.ResolveProjectPath(4, "StaticData");
            MatterControlUtilities.OverrideAppDataLocation(TestContext.CurrentContext.ResolveProjectPath(4));

            // Create sample asset file
            string tempFile = ApplicationDataStorage.Instance.GetNewLibraryFilePath(".txt");

            Directory.CreateDirectory(Path.GetDirectoryName(tempFile));
            File.WriteAllText(tempFile, "Sample Text");

            var object3D = new Object3D()
            {
                Mesh = PlatonicSolids.CreateCube(1, 1, 1)
            };

            // Set directory for asset resolution
            Object3D.AssetsPath = ApplicationDataStorage.Instance.LibraryAssetsPath;
            Directory.CreateDirectory(Object3D.AssetsPath);

            foreach (var file in Directory.GetFiles(Object3D.AssetsPath))
            {
                File.Delete(file);
            }
            Assert.AreEqual(0, Directory.GetFiles(Object3D.AssetsPath).Length);

            // Create AssetManager
            var assetManager = new MockAssetManager();

            AssetObject3D.AssetManager = assetManager;

            // Store
            await AssetObject3D.AssetManager.StoreMesh(object3D, false, CancellationToken.None, null);

            // Validate
            Assert.AreEqual(1, Directory.GetFiles(Object3D.AssetsPath).Length, "Unexpected asset file count");
            Assert.AreEqual("CF58E6637ED36311082F66EC5FA3A279E0513FE6.stl", object3D.MeshPath, "Unexpected MeshPath");
            Assert.AreEqual(0, assetManager.PublishCount, "No files should have been published");
        }
示例#3
0
 private MockCampaign(MockAssetManager assets, MockUserInterface ui)
     : base(Id, Cap, assets, ui)
 {
 }