public async Task MoveResources()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync().ConfigureAwait(false);

            var rg1Op = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, Recording.GenerateAssetName("testrg"), new ResourceGroupData(AzureLocation.WestUS2));

            var rg2Op = await subscription.GetResourceGroups().CreateOrUpdateAsync(WaitUntil.Completed, Recording.GenerateAssetName("testrg"), new ResourceGroupData(AzureLocation.WestUS2));

            ResourceGroupResource rg1 = rg1Op.Value;
            ResourceGroupResource rg2 = rg2Op.Value;
            var genericResources      = subscription.GetGenericResourcesAsync();
            var aset = await CreateGenericAvailabilitySetAsync(rg1.Id);

            int countRg1 = await GetResourceCountAsync(rg1.GetGenericResourcesAsync());

            int countRg2 = await GetResourceCountAsync(rg2.GetGenericResourcesAsync());

            Assert.AreEqual(1, countRg1);
            Assert.AreEqual(0, countRg2);

            var moveInfo = new ResourcesMoveContent();

            moveInfo.TargetResourceGroup = rg2.Id;
            moveInfo.Resources.Add(aset.Id);
            _ = await rg1.MoveResourcesAsync(WaitUntil.Completed, moveInfo);

            countRg1 = await GetResourceCountAsync(rg1.GetGenericResourcesAsync());

            countRg2 = await GetResourceCountAsync(rg2.GetGenericResourcesAsync());

            Assert.AreEqual(0, countRg1);
            Assert.AreEqual(1, countRg2);

            Assert.ThrowsAsync <ArgumentNullException>(async() => _ = await rg1.MoveResourcesAsync(WaitUntil.Completed, null));
        }
        public async Task ListByResourceGroup()
        {
            SubscriptionResource subscription = await Client.GetDefaultSubscriptionAsync().ConfigureAwait(false);

            var rg1Op = await subscription.GetResourceGroups().Construct(AzureLocation.WestUS2).CreateOrUpdateAsync(Recording.GenerateAssetName("testrg"));

            ResourceGroupResource rg1 = rg1Op.Value;

            _ = await CreateGenericAvailabilitySetAsync(rg1.Id);

            _ = await CreateGenericAvailabilitySetAsync(rg1.Id);

            var rg2Op = await subscription.GetResourceGroups().Construct(AzureLocation.WestUS2).CreateOrUpdateAsync(Recording.GenerateAssetName("testrg"));

            ResourceGroupResource rg2 = rg2Op.Value;

            _ = await CreateGenericAvailabilitySetAsync(rg2.Id);

            var count = await GetResourceCountAsync(rg1.GetGenericResourcesAsync());

            Assert.AreEqual(2, count);

            count = await GetResourceCountAsync(rg2.GetGenericResourcesAsync());

            Assert.AreEqual(1, count);

            //Assert.Throws<ArgumentNullException>(() => { genericResources.GetByResourceGroupAsync(null); });
        }