public async Task ShouldRenameAppSDKTest()
        {
            using (var client = new LuisProgClient(SubscriptionKey, Region))
            {
                var app = await client.GetAppByNameAsync("SDKTest");

                var appChanged = await client.GetAppByNameAsync("SDKTestChanged");

                if (app == null)
                {
                    await client.AddAppAsync("SDKTest", "Description test", "en-us", "SDKTest", string.Empty, appVersion);

                    app = await client.GetAppByNameAsync("SDKTest");
                }

                if (appChanged != null)
                {
                    await client.DeleteAppAsync(appChanged.Id);
                }

                await client.RenameAppAsync(app.Id, "SDKTestChanged", "Description changed");

                app = await client.GetAppByIdAsync(app.Id);

                Assert.AreEqual("SDKTestChanged", app.Name);
            }
        }
        public async Task ShouldRenameAppSDKTest()
        {
            var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION);
            var app    = await client.GetAppByNameAsync("SDKTest");

            var appChanged = await client.GetAppByNameAsync("SDKTestChanged");

            if (app == null)
            {
                await client.AddAppAsync("SDKTest", "Description test", "en-us", "SDKTest", string.Empty, "1.0");

                app = await client.GetAppByNameAsync("SDKTest");
            }

            if (appChanged != null)
            {
                await client.DeleteAppAsync(appChanged.Id);
            }

            await client.RenameAppAsync(app.Id, "SDKTestChanged", "Description changed");

            app = await client.GetAppByIdAsync(app.Id);

            Assert.AreEqual("SDKTestChanged", app.Name);
        }
        public async Task ShouldGetNullWhenNotExistsAppId()
        {
            var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION);

            var app = await client.GetAppByIdAsync("51593248-363e-4a08-b946-2061964dc690");

            Assert.IsNull(app);
        }
        public async Task ShouldGetNullWhenNotExistsAppId()
        {
            using (var client = new LuisProgClient(SubscriptionKey, Region))
            {
                var app = await client.GetAppByIdAsync(InvalidId);

                Assert.IsNull(app);
            }
        }
        public async Task ShouldGetExistAppById()
        {
            var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION);
            var apps   = await client.GetAllAppsAsync();

            var firstApp = apps.FirstOrDefault();

            var app = await client.GetAppByIdAsync(firstApp.Id);

            Assert.AreEqual(firstApp.Name, app.Name);
        }
        public async Task ShouldGetExistAppById()
        {
            using (var client = new LuisProgClient(SubscriptionKey, Region))
            {
                var apps = await client.GetAllAppsAsync();

                var firstApp = apps.FirstOrDefault();

                var app = await client.GetAppByIdAsync(firstApp.Id);

                Assert.AreEqual(firstApp.Name, app.Name);
            }
        }
        public async Task ShouldDeleteAppSDKTest()
        {
            var client = new LuisProgClient(SUBSCRIPTION_KEY, LOCATION);

            if (await client.GetAppByNameAsync("SDKTest") == null)
            {
                await client.AddAppAsync("SDKTest", "Description test", "en-us", "SDKTest", string.Empty, "1.0");
            }

            var app = await client.GetAppByNameAsync("SDKTest");

            await client.DeleteAppAsync(app.Id);

            app = await client.GetAppByIdAsync(app.Id);

            Assert.IsNull(app);
        }
        public async Task ShouldDeleteAppSDKTest()
        {
            using (var client = new LuisProgClient(SubscriptionKey, Region))
            {
                if (await client.GetAppByNameAsync("SDKTest") == null)
                {
                    await client.AddAppAsync("SDKTest", "Description test", "en-us", "SDKTest", string.Empty, appVersion);
                }

                var app = await client.GetAppByNameAsync("SDKTest");

                await client.DeleteAppAsync(app.Id);

                var newapp = await client.GetAppByIdAsync(app.Id);

                Assert.IsNull(newapp);
            }
        }