Describe"$CommandName Unit Tests"-Tag'UnitTests'{Context"Validate parameters"{<#
The $paramCount is adjusted based on the parameters your command will have.

The $defaultParamCount is adjusted based on what type of command you are writing the test for:
- Commands that *do not* include SupportShouldProcess, set defaultParamCount = 11
- Commands that *do* include SupportShouldProcess, set defaultParamCount = 13
#>$paramCount=7$defaultParamCount=11[object[]]$params=(Get-ChildItemfunction:\Test-DbaRecoveryModel).Parameters.Keys$knownParameters='SqlInstance','SqlCredential','RecoveryModel','Database','ExcludeDatabase','EnableException','Detailed'It"Should contain our specific parameters"{((Compare-Object-ReferenceObject$knownParameters-DifferenceObject$params-IncludeEqual|Where-ObjectSideIndicator-eq"==").Count)|ShouldBe$paramCount}It"Should only contain $paramCount parameters"{$params.Count-$defaultParamCount|ShouldBe$paramCount}}}Describe"$CommandName Intigration Tests"-Tag"IntegrationTests"{BeforeAll{$fullRecovery="dbatoolsci_RecoveryModelFull"$bulkLoggedRecovery="dbatoolsci_RecoveryModelBulk"$simpleRecovery="dbatoolsci_RecoveryModelSimple"$psudoSimpleRecovery="dbatoolsci_RecoveryModelPsudoSimple"$server=Connect-DbaInstance-SqlInstance$script:instance2