PowerShell/test/powershell/New-Object.Tests.ps1

43 lines
1.2 KiB
PowerShell
Raw Normal View History

Describe "New-Object" {
2015-07-15 19:15:39 +02:00
It "should create an object with 4 fields" {
$o = New-Object psobject
$val = $o.GetType()
2015-07-15 19:15:39 +02:00
$val.IsPublic | Should Not BeNullOrEmpty
$val.Name | Should Not BeNullOrEmpty
$val.IsSerializable | Should Not BeNullOrEmpty
$val.BaseType | Should Not BeNullOrEmpty
2015-07-15 19:15:39 +02:00
$val.IsPublic | Should Be $true
$val.IsSerializable | Should Be $false
$val.Name | Should Be 'PSCustomObject'
$val.BaseType | Should Be 'System.Object'
2015-07-15 19:15:39 +02:00
}
It "should create an object with using Property switch" {
$hash = @{
FirstVal = 'test1'
SecondVal = 'test2'
}
$o = New-Object psobject -Property $hash
$o.FirstVal | Should Be 'test1'
$o.SecondVal | Should Be 'test2'
}
It "should create a .Net object with using ArgumentList switch" {
$o = New-Object -TypeName System.Version -ArgumentList "1.2.3.4"
$val = $o.GetType()
$o.Major | Should Be 1
$o.Minor | Should Be 2
$o.Build | Should Be 3
$o.Revision | Should Be 4
$val.IsPublic | Should Be $true
$val.IsSerializable | Should Be $false
$val.Name | Should Be 'Version'
$val.BaseType | Should Be 'System.Object'
}
2015-07-24 19:38:51 +02:00
}