FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Add Unit Tests for GetDateTest.cs and StartSleepTest.cs by TingLiu6 · Pull Request #775 · PowerShell/PowerShell · GitHub

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension .ps1  (2) All 1 file type selected
Viewed files
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Unified
Split
Hide whitespace
Diff view
Unified
Split
Hide whitespace
83 changes: 83 additions & 0 deletions test/powershell/Get-Date.Tests.ps1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -1,3 +1,86 @@
Describe "Get-Date DRT Unit Tests" -Tags DRT {
It "Get-Date with all parameters returns proper results" {
$date = [datetime]::Now + ([timespan]::new(0,0,30))
$result = Get-Date -Date $date -Year 1973 -Month 2 -Day 22 -Hour 15 -Minute 40 -Second 10 -Millisecond 200
$result.GetType() | Should be ([Datetime])
$result.Year | Should be 1973
$result.Month| Should be 2
$result.Day | Should be 22
$result.Hour | Should be 15
$result.Minute | Should be 40
$result.Second | Should be 10
$result.Millisecond | Should be 200
}

It "using -displayhint produces the correct output" {
$d = Get-date -Date:"Jan 1, 2020" -DisplayHint Date | Out-String
$d.Trim() | Should be "Wednesday, January 1, 2020"
}

It "using -format produces the correct output" {
Get-date -Date:"Jan 1, 2020" -Format:"MMM-dd-yy" | Should be "Jan-01-20"
}

It "using -uformat produces the correct output" {
Get-date -Date:"Jan 1, 2020" -UFormat:"%s" | Should be "1577836800"
}

It "using -uformat 'ymdH' produces the correct output" {
Get-date -Date 0030-01-01T00:00:00 -uformat %y/%m/%d-%H | Should be "30/01/01-00"
}

It "using -uformat 'aAbBcCdDehHIjmMpr' produces the correct output" {
Get-date -Date 1/1/0030 -uformat %a%A%b%B%c%C%d%D%e%h%H%I%j%m%M%p%r | Should be "TueTuesdayJanJanuaryTue Jan 1 00:00:00 003000101/01/30 1Jan001210100AM12:00:00 AM"
}

It "using -uformat 'StTuUVwWxXyYZ' produces the correct output" {
Get-date -Date 1/1/0030 -uformat %S%T%u%U%V%w%W%x%X%y%Y%% | Should be "0000:00:002012001/01/3000:00:00300030%"
}

It "Get-date works with pipeline input" {
$x = new-object System.Management.Automation.PSObject
$x | add-member NoteProperty Date ([DateTime]::Now)
$y = @($x,$x)
($y | Get-date).Length | Should be 2
}

It "the LastWriteTime alias works with pipeline input" {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

this should use TESTDRIVE

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Fixed.

$folder = "GetDateTest"
#$tempPath = $TestDrive
$pathString = Join-Path -Path $TestDrive -ChildPath $folder
New-Item -Path $TestDrive -Name $folder -ItemType directory -Force
for($i = 0; $i -lt 10; $i++)
{
$temp = [guid]::NewGuid()
$pathString2 = Join-Path -Path $pathString -ChildPath $temp
New-Item -Path $pathString -Name $temp -ItemType file -Force

for($j = 0; $j -lt 100; $j++)
{
Add-Content -Path $pathString2 -Value $j
}

}

$result1 = get-childitem -path $pathString | get-date
$result2 = get-childitem -path $pathString | get-date

$result1.Length | Should be 10
$result1.Length -eq $result2.Length | Should be $true

for($i = 0; $i -lt $result1.Length; $i++)
{
$result1[$i] -eq $result2[$i] | Should be $true
}

Get-ChildItem -Path $pathString | Remove-Item
Remove-Item -Path $pathString -Force -Recurse
}


}


Describe "Get-Date" {
It "Should return a DateTime object upon being called" {
(Get-Date).GetType().Name.Equals('DateTime') | Should Be $true
Expand Down
19 changes: 19 additions & 0 deletions test/powershell/Start-Sleep.Tests.ps1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
Describe "Start-Sleep DRT Unit Tests" -Tags DRT{
It "Should be works properly when sleeping with Second" {
$dtStart = [DateTime]::Now
Start-Sleep -Seconds 1
$dtEnd = [DateTime]::Now
$millseconds = (New-TimeSpan -Start $dtStart -End $dtEnd).TotalMilliseconds
$millseconds | Should BeGreaterThan 1000
}

It "Should be works properly when sleeping with Milliseconds" {
$dtStart = [DateTime]::Now
Start-Sleep -Milliseconds 1000
$dtEnd = [DateTime]::Now
$millseconds = (New-TimeSpan -Start $dtStart -End $dtEnd).TotalMilliseconds
$millseconds | Should BeGreaterThan 1000
}

}

Describe "Start-Sleep" {

Context "Validate Start-Sleep works properly" {
Expand Down

Back | FazBrowse Home | New Git URL