public void AddAutoscaleSettingCommandParametersProcessing()
        {
            var spec           = this.CreateCompleteSpec(location: "East US", name: "SettingName", profiles: null);
            var autoscaleRules = new List <ScaleRule> {
                this.CreateAutoscaleRule("IncommingReq")
            };
            var autoscaleProfile = new List <AutoscaleProfile> {
                this.CreateAutoscaleProfile(autoscaleRules: autoscaleRules, fixedDate: true)
            };

            // Testing with a complete spec as parameter (Update semantics)
            // Add-AutoscaleSetting -SettingSpec <AutoscaleSettingResource> -ResourceGroup <String> [-DisableSetting [<SwitchParameter>]] [-AutoscaleProfiles <List[AutoscaleProfile]>] [-Profile <AzureSMProfile>] [<CommonParameters>]
            // Add-AutoscaleSetting -SettingSpec $spec -ResourceGroup $Utilities.ResourceGroup
            // A NOP
            cmdlet.InputObject       = spec;
            cmdlet.ResourceGroupName = Utilities.ResourceGroup;
            cmdlet.ExecuteCmdlet();

            Assert.Equal(Utilities.ResourceGroup, this.resourceGroup);
            Assert.Equal("SettingName", this.settingName);
            Assert.NotNull(this.createOrUpdatePrms);

            // Add-AutoscaleSetting -SettingSpec <AutoscaleSettingResource> -ResourceGroup <String> [-DisableSetting [<SwitchParameter>]] [-AutoscaleProfiles <List[AutoscaleProfile]>] [-Profile <AzureSMProfile>] [<CommonParameters>]
            // Add-AutoscaleSetting -SettingSpec $spec -ResourceGroup $Utilities.ResourceGroup -DisableSetting
            // Disable the setting
            cmdlet.DisableSetting = true;
            cmdlet.ExecuteCmdlet();

            Assert.Equal(Utilities.ResourceGroup, this.resourceGroup);
            Assert.Equal("SettingName", this.settingName);
            Assert.NotNull(this.createOrUpdatePrms);

            // Add-AutoscaleSetting -SettingSpec <AutoscaleSettingResource> -ResourceGroup <String> [-DisableSetting [<SwitchParameter>]] [-AutoscaleProfiles <List[AutoscaleProfile]>] [-Profile <AzureSMProfile>] [<CommonParameters>]
            // Adding a profile
            cmdlet.AutoscaleProfile = autoscaleProfile;
            cmdlet.ExecuteCmdlet();

            // Add-AutoscaleSetting -Location <String> -Name <String> -ResourceGroup <String> [-DisableSetting [<SwitchParameter>]] [-AutoscaleProfiles <List[AutoscaleProfile]>] -TargetResourceId <String> [-Profile <AzureSMProfile>] [<CommonParameters>]
            cmdlet.InputObject       = null;
            cmdlet.Name              = "SettingName";
            cmdlet.Location          = "East US";
            cmdlet.ResourceGroupName = Utilities.ResourceGroup;
            cmdlet.TargetResourceId  = Utilities.ResourceUri;
            cmdlet.ExecuteCmdlet();

            var eMailNotification = new EmailNotification
            {
                CustomEmails = null,
            };

            var notification = new AutoscaleNotification
            {
                Email    = eMailNotification,
                Webhooks = null
            };

            cmdlet.Notification = new List <AutoscaleNotification> {
                notification
            };
            cmdlet.ExecuteCmdlet();
        }