Describe "ConvertTo-Xml DRT Unit Tests" -Tags DRT{ $customPSObject = [pscustomobject]@{ "prop1" = "val1"; "prop2" = "val2" } $newLine = [System.Environment]::NewLine It "Test convertto-xml with a depth parameter" { $returnObject = $customPSObject | ConvertTo-Xml -Depth 1 $returnObject -is [System.Xml.XmlDocument] | Should Be $true #$xml = [System.Xml.XmlDocument]$returnObject $expectedValue = '' + 'val1val2' $returnObject.OuterXml | Should Be $expectedValue } It "Test convertto-xml with notypeinfo parameter" { $returnObject = $customPSObject | ConvertTo-Xml -NoTypeInformation $returnObject -is [System.Xml.XmlDocument] | Should Be $true $expectedValue = '' + 'val1val2' $returnObject.OuterXml | Should Be $expectedValue } It "Test convertto-xml as String" { $returnObject = $customPSObject | ConvertTo-Xml -As String $expectedValue = @" $newLine$newLine $newLine val1$newLine val2$newLine $newLine "@ $returnObject -is [System.String] | Should Be $true $returnObject | Should Be $expectedValue #$returnObject.Trim($newLine) | Should Be $expectedValue.Trim($newLine) } It "Test convertto-xml as Stream" { $returnObject = $customPSObject | ConvertTo-Xml -As Stream $returnObject -is [System.Array] | Should Be $true $stream1 = '' $stream2 = '' $stream3 = @" $newLine val1$newLine val2$newLine "@ $stream4 = '' $returnObject.Count | Should Be 4 $returnObject[0] | Should Be $stream1 $returnObject[1] | Should Be $stream2 $returnObject[2] | Should Be $stream3 $returnObject[3] | Should Be $stream4 } It "Test convertto-xml as Document" { $returnObject = $customPSObject | ConvertTo-Xml -As Document -NoTypeInformation $returnObject -is [System.Xml.XmlDocument] | Should Be $true $expectedValue = 'val1val2' $returnObject.OuterXml | Should Be $expectedValue } }