tst/General/Assert-NotEqual.Tests.ps1
InModuleScope -ModuleName Assert { Describe "Assert-NotEqual" { Context "Comparing strings" { It "Fails when two strings are equal" { { "abc" | Assert-NotEqual "abc" } | Verify-AssertionFailed } It "Passes when two strings are different" { "abc" | Assert-NotEqual "bde" } } Context "Comparing integers" { It "Fails when two numbers are equal" { { 1 | Assert-NotEqual 1 } | Verify-AssertionFailed } It "Passes when two numbers are different" { 1 | Assert-NotEqual 9 } } Context "Comparing doubles" { It "Fails when two numbers are equal" { { .1 | Assert-NotEqual .1 } | Verify-AssertionFailed } It "Passes when two numbers are different" { .1 | Assert-NotEqual .9 } } Context "Comparing decimals" { It "Fails when two numbers are equal" { { .1D | Assert-NotEqual .1D } | Verify-AssertionFailed } It "Passes when two numbers are different" { .1D | Assert-NotEqual .9D } } Context "Comparing objects" { It "Fails when two objects are the same" { $object = New-Object -TypeName PsObject -Property @{ Name = "Jakub" } { $object | Assert-NotEqual $object } | Verify-AssertionFailed } It "Passes when two objects are different" { $object = New-Object -TypeName PsObject -Property @{ Name = "Jakub" } $object1 = New-Object -TypeName PsObject -Property @{ Name = "Jakub" } $object | Assert-NotEqual $object1 } } It "Passes for array input even if the last item is the same as expected" { 1,2,3 | Assert-NotEqual 3 } It "Fails with custom message" { $error = { 3 | Assert-NotEqual 3 -Message "<expected> is <actual>" } | Verify-AssertionFailed $error.Exception.Message | Verify-Equal "3 is 3" } Context "Validate messages" { It "Given two values that are the same '<value>' it returns expected message '<message>'" -TestCases @( @{ Value = 1; Message = "Expected int '1', to be different than the actual value, but they were the same."} ) { param($Value, $Message) $error = { Assert-NotEqual -Actual $Value -Expected $Value } | Verify-AssertionFailed $error.Exception.Message | Verify-Equal $Message } } It "Returns the value on output" { $expected = 1 $expected | Assert-NotEqual 9 | Verify-Equal $expected } } } |