public static void TestAssetStorageSimpleFolderTree_StoreAsset_SerialDuplicate_DoesntThrow()
        {
            var config       = new ChattelConfiguration(LOCAL_STORAGE_DIR_INFO.FullName);
            var localStorage = new AssetStorageSimpleFolderTree(config);

            var testAsset = new StratusAsset {
                Id          = Guid.NewGuid(),
                Description = "7nwtzcv84w78",
            };

            localStorage.StoreAsset(testAsset);

            Assert.DoesNotThrow(() => localStorage.StoreAsset(testAsset));
        }
        public static void TestAssetStorageSimpleFolderTree_StoreAsset_Null_DoesntThrow()
        {
            var config       = new ChattelConfiguration(LOCAL_STORAGE_DIR_INFO.FullName);
            var localStorage = new AssetStorageSimpleFolderTree(config);

            Assert.DoesNotThrow(() => localStorage.StoreAsset(null));
        }
        public static void TestAssetStorageSimpleFolderTree_StoreAsset_Single_DoesntThrow()
        {
            var config       = new ChattelConfiguration(LOCAL_STORAGE_DIR_INFO.FullName);
            var localStorage = new AssetStorageSimpleFolderTree(config);

            var testAsset = new StratusAsset {
                Id = Guid.NewGuid(),
            };

            Assert.DoesNotThrow(() => localStorage.StoreAsset(testAsset));
        }
        public static void TestAssetStorageSimpleFolderTree_StoreAsset_NoLocalStorage_DoesntThrow()
        {
            var server       = Substitute.For <IAssetServer>();
            var config       = new ChattelConfiguration(server);
            var localStorage = new AssetStorageSimpleFolderTree(config);

            var testAsset = new StratusAsset {
                Id = Guid.NewGuid(),
            };

            Assert.DoesNotThrow(() => localStorage.StoreAsset(testAsset));
        }
        public static void TestAssetStorageSimpleFolderTree_StoreAsset_SerialDuplicate_DoesntOverwrite()
        {
            var config       = new ChattelConfiguration(LOCAL_STORAGE_DIR_INFO.FullName);
            var localStorage = new AssetStorageSimpleFolderTree(config);

            var assetId = Guid.NewGuid();

            var testAsset1 = new StratusAsset {
                Id          = assetId,
                Description = "7nwtzcv84w78",
            };

            var testAsset2 = new StratusAsset {
                Id          = assetId,
                Description = "f4fn983984",
            };

            localStorage.StoreAsset(testAsset1);
            localStorage.StoreAsset(testAsset2);

            Assert.AreEqual(testAsset1, GetLocalStorageEntry(LOCAL_STORAGE_DIR_INFO, testAsset2.Id));
        }
        public static void TestAssetStorageSimpleFolderTree_StoreAsset_Single_CreatesAsset()
        {
            var config       = new ChattelConfiguration(LOCAL_STORAGE_DIR_INFO.FullName);
            var localStorage = new AssetStorageSimpleFolderTree(config);

            var testAsset = new StratusAsset {
                Id = Guid.NewGuid(),
            };

            localStorage.StoreAsset(testAsset);

            Assert.IsTrue(LocalStorageEntryExists(LOCAL_STORAGE_DIR_INFO, testAsset.Id));
        }
        public static void TestAssetStorageSimpleFolderTree_StoreAsset_Single_AssetStoredCorrectly()
        {
            var config       = new ChattelConfiguration(LOCAL_STORAGE_DIR_INFO.FullName);
            var localStorage = new AssetStorageSimpleFolderTree(config);

            var testAsset = new StratusAsset {
                Id          = Guid.NewGuid(),
                Description = "7nwtzcv84w78",
            };

            localStorage.StoreAsset(testAsset);

            Assert.AreEqual(testAsset, GetLocalStorageEntry(LOCAL_STORAGE_DIR_INFO, testAsset.Id));
        }
        public static void TestAssetStorageSimpleFolderTree_StoreAsset_NoLocalStorage_DoesntExist()
        {
            var server       = Substitute.For <IAssetServer>();
            var config       = new ChattelConfiguration(server);
            var localStorage = new AssetStorageSimpleFolderTree(config);

            var testAsset = new StratusAsset {
                Id = Guid.NewGuid(),
            };

            localStorage.StoreAsset(testAsset);

            Assert.IsFalse(LocalStorageEntryExists(LOCAL_STORAGE_DIR_INFO, testAsset.Id));
        }