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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions test/powershell/Get-Date.Tests.ps1
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
Collaborator

Choose a reason for hiding this comment

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

this should use TESTDRIVE

Copy link
Contributor Author

Choose a reason for hiding this comment

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

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
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