Get-EuroExchange.Tests.ps1
$here = Split-Path -Parent $MyInvocation.MyCommand.Path $sut = (Split-Path -Leaf $MyInvocation.MyCommand.Path).Replace(".Tests.", ".") . "$here\$sut" Describe "Get-EuroExchange" { $content = Invoke-WebRequest -Uri "http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml" | Select-Object -ExpandProperty Content $cubes = ([xml]$content).Envelope.Cube.Cube.Cube It "Ist der Currency-Wert korrekt" { (Get-EuroExchange -Currency USD).Currency | Should Be 'USD' } It "Ist die Rate korrekt" { [decimal]$rate = $cubes | Where-Object -Property Currency -EQ -Value USD | Select-Object -ExpandProperty Rate (Get-EuroExchange -Currency USD).Rate | Should Be $rate } $today = New-Object datetime(2000,1,1) Mock Get-Date {$today} } <# ! UTest: Feature-Umfang Get-EuroExchange -Currency USD Get-EuroExchange -Währung USD Get-EuroExchange -Currency USD -Euros 100 Get-EuroExchange -ListCurrency Get-EuroExchange "USD", "RUB", "AUD" | Get-EuroExchange "USD", "RUB", "AUD" | Get-EuroExchange -Euros 100 "USD,10", "RUB,100", "AUD,1000" | ConvertFrom-Csv -Header Currency, Euros | Get-EuroExchange "USD,10", "RUB,100", "AUD,1000" | ConvertFrom-Csv -Header Currency, Euros | Get-EuroExchange | Where-Object SumCurrency -GE 1000 "USD,10", "RUB,100", "AUD,1000" | ConvertFrom-Csv -Header Currency, Euros | Get-EuroExchange | Out-GridView #"USD,10", "RUB,100", "AUD,1000" | ConvertFrom-Csv -Header Währung, Euronen | Get-EuroExchange Get-EuroExchange -ListCurrency | Get-EuroExchange -Euros 1000 Get-Help -Name Get-EuroExchange -ShowWindow Show-Command -Name Get-EuroExchange -NoCommonParameter -ErrorPopup | Out-GridView #> <# ! UTEST: Validierung Get-EuroExchange # Currency mus abgefragt werden Get-EuroExchange -Currency USD -ListCurrency # Diese Parameter-Kombination ist nicht erlaubt Get-EuroExchange -Euros 100 -ListCurrency # Diese Parameter-Kombination ist nicht erlaubt Get-EuroExchange -Currency 987 # Keine Zahlen Get-EuroExchange -Currency DOLLAR # Zuviel Zeichen Get-EuroExchange -Currency as # Zuwenig Zeichen Get-EuroExchange -Currency XXX # Gibt es nicht Get-EuroExchange -Currency USD -Euros -100 # Negative Euros sind nicht erlaubt Get-EuroExchange -Currency USD -Euros 1000001 # Größer als der max. Bereich. Get-EuroExchange -Currency USD -Euros 0 # 0 Euros sind nicht erlaubt Get-EuroExchange -Currency USD -Euros hundert # Nur Zahlen sind erlaubt Get-EuroExchange -Euros 100 # Ohne Währungssymbol nicht erlaubt Get-EuroExchange -Currency USD, RUB # Zuviel Währungen Get-EuroExchange -Currency USD -Euros 50, 100 # Zuviel Euros #> |