100 lines
3.8 KiB
C#
100 lines
3.8 KiB
C#
<Query Kind="Program">
|
|
<Reference><ProgramFilesX64>\Microsoft SDKs\Azure\.NET SDK\v2.9\bin\plugins\Diagnostics\Newtonsoft.Json.dll</Reference>
|
|
<NuGetReference>AWSSDK.Glue</NuGetReference>
|
|
<NuGetReference>AWSSDK.S3</NuGetReference>
|
|
<NuGetReference>FluentAssertions</NuGetReference>
|
|
<NuGetReference>Newtonsoft.Json</NuGetReference>
|
|
<Namespace>Amazon</Namespace>
|
|
<Namespace>Amazon.Auth.AccessControlPolicy</Namespace>
|
|
<Namespace>Amazon.Auth.AccessControlPolicy.ActionIdentifiers</Namespace>
|
|
<Namespace>Amazon.Internal</Namespace>
|
|
<Namespace>Amazon.MissingTypes</Namespace>
|
|
<Namespace>Amazon.Runtime</Namespace>
|
|
<Namespace>Amazon.Runtime.CredentialManagement</Namespace>
|
|
<Namespace>Amazon.Runtime.CredentialManagement.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.EventStreams</Namespace>
|
|
<Namespace>Amazon.Runtime.EventStreams.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Auth</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Settings</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Transform</Namespace>
|
|
<Namespace>Amazon.Runtime.Internal.Util</Namespace>
|
|
<Namespace>Amazon.Runtime.SharedInterfaces</Namespace>
|
|
<Namespace>Amazon.Runtime.SharedInterfaces.Internal</Namespace>
|
|
<Namespace>Amazon.S3</Namespace>
|
|
<Namespace>Amazon.S3.Encryption</Namespace>
|
|
<Namespace>Amazon.S3.Encryption.Internal</Namespace>
|
|
<Namespace>Amazon.S3.Internal</Namespace>
|
|
<Namespace>Amazon.S3.IO</Namespace>
|
|
<Namespace>Amazon.S3.Model</Namespace>
|
|
<Namespace>Amazon.S3.Model.Internal.MarshallTransformations</Namespace>
|
|
<Namespace>Amazon.S3.Transfer</Namespace>
|
|
<Namespace>Amazon.S3.Util</Namespace>
|
|
<Namespace>Amazon.Util</Namespace>
|
|
<Namespace>Amazon.Util.Internal</Namespace>
|
|
<Namespace>Amazon.Util.Internal.PlatformServices</Namespace>
|
|
<Namespace>FluentAssertions</Namespace>
|
|
<Namespace>Newtonsoft.Json</Namespace>
|
|
<Namespace>Newtonsoft.Json.Converters</Namespace>
|
|
<Namespace>Newtonsoft.Json.Linq</Namespace>
|
|
<Namespace>Newtonsoft.Json.Schema</Namespace>
|
|
<Namespace>Newtonsoft.Json.Serialization</Namespace>
|
|
<Namespace>System</Namespace>
|
|
<Namespace>System.Diagnostics</Namespace>
|
|
<Namespace>System.Diagnostics.Tracing</Namespace>
|
|
<Namespace>System.IO.Compression</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Asn1</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Asn1.Utilities</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Math</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.OpenSsl</Namespace>
|
|
<Namespace>ThirdParty.BouncyCastle.Utilities.IO.Pem</Namespace>
|
|
<Namespace>ThirdParty.Ionic.Zlib</Namespace>
|
|
<Namespace>ThirdParty.Json.LitJson</Namespace>
|
|
<Namespace>ThirdParty.MD5</Namespace>
|
|
</Query>
|
|
|
|
void Main()
|
|
{
|
|
for (var x = 0; x > -5; x--)
|
|
{
|
|
try
|
|
{
|
|
var testDate = DateTime.Now.AddYears(x);
|
|
testDate.Dump($"{x}");
|
|
RunValidation(testDate);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
$"{x} - {ex.Message}".Dump();
|
|
}
|
|
}
|
|
}
|
|
|
|
public void RunValidation(DateTime testDate)
|
|
{
|
|
testDate.AddMilliseconds(-1).GetPrettyDate().Should().Be("just now");
|
|
testDate.AddSeconds(-1).GetPrettyDate().Should().Be("just now");
|
|
testDate.AddMinutes(-1).GetPrettyDate().Should().Be("1 minute ago");
|
|
for (var x = -2; x >= -59; x--)
|
|
{
|
|
testDate.AddMinutes(-x).GetPrettyDate().Should().Be($"{x} minutes ago");
|
|
}
|
|
testDate.AddHours(-1).GetPrettyDate().Should().Be("1 hour ago");
|
|
for (var x = -2; x >= -23; x--)
|
|
{
|
|
testDate.AddHours(-x).GetPrettyDate().Should().Be($"{x} hours ago");
|
|
}
|
|
testDate.AddDays(-1).GetPrettyDate().Should().Be("yesterday");
|
|
for (var x = -2; x >= -364; x--)
|
|
{
|
|
testDate.AddDays(-x).GetPrettyDate().Should().Be($"{x} days ago");
|
|
}
|
|
testDate.AddMonths(-1).GetPrettyDate().Should().Be("5 weeks ago");
|
|
for (var x = -2; x >= -364; x--)
|
|
{
|
|
testDate.AddMonths(-x).GetPrettyDate().Should().Be($"{x} months ago");
|
|
}
|
|
}
|
|
|
|
// Define other methods and classes here
|