tst/General/Assert-NotSame.Tests.ps1
InModuleScope -ModuleName Assert { Describe "Assert-NotSame" { It "Fails when two objects are the same instance" { $object = New-Object Diagnostics.Process { $object | Assert-NotSame $object } | Verify-AssertionFailed } It "Passes when two objects are different instance" { $object = New-Object Diagnostics.Process $object1 = New-Object Diagnostics.Process $object | Assert-NotSame $object1 } It "Passes for array input even if the last item is the same as expected" { $object = New-Object Diagnostics.Process 1,2, $object | Assert-NotSame $object } It "Fails with custom message" { $object = 1 $error = { $object | Assert-NotSame $object -Message "<expected> is <actual>" } | Verify-AssertionFailed $error.Exception.Message | Verify-Equal "1 is 1" } It "Given two values that are the same instance it returns expected message '<message>'" -TestCases @( @{ Value = "a"; Message = "Expected string 'a', to not be the same instance."} ) { param($Value, $Message) $error = { Assert-NotSame -Actual $Value -Expected $Value } | Verify-AssertionFailed $error.Exception.Message | Verify-Equal $Message } It "Returns the value on output" { $expected = 1 $expected | Assert-NotSame 7 | Verify-Equal $expected } } } |