From ab01d07c84786da7d1ea51579d4c4ff798cae4af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henning=20Bj=C3=B8rgo?= Date: Tue, 19 Jan 2021 19:20:27 +0100 Subject: [PATCH 1/4] Update README.md --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/README.md b/README.md index c4611ad..a78f3c5 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,41 @@ [![Nuget](https://img.shields.io/nuget/dt/HeboTech.TimeService)](https://www.nuget.org/packages/HeboTech.TimeService/) Testable and configurable time service for .Net. + +## Usage +Install as NuGet package +```shell +dotnet add package HeboTech.TimeService +``` + +Example usage in production code +```csharp +// Set up during application startup +TimeService.SetTimeProvider(new SystemTimeProvider()); + +// Use as a static service +DateTime time = TimeService.UtcNow; +``` + +Example usage when running unit tests +```csharp +// Set up during test initialization +DateTime testTime = new DateTime(2020, 1, 1, 12, 0, 0, DateTimeKind.Utc); +ManualTimeProvider testProvider = new ManualTimeProvider(testTime); +TimeService.SetTimeProvider(testProvider); + +// Unit testing: + +// TimeService returns the set time +Assert.AreEqual(testTime, TimeService.UtcNow); + +// Add a TimeSpan to the current time +provider.Elapse(TimeSpan.FromDays(1)); + +// TimeService returns the new time +Assert.AreEqual(testTime.AddDays(1), TimeService.UtcNow); +``` + +For more examples, check out the TestConsole project in the code. + +Feedback is welcome 🙂 From a881c5385faa666cc6d32f1b7724ecef8cf1d250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henning=20Bj=C3=B8rgo?= Date: Tue, 19 Jan 2021 19:21:57 +0100 Subject: [PATCH 2/4] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a78f3c5..8971f60 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Nuget](https://img.shields.io/nuget/v/HeboTech.TimeService)](https://www.nuget.org/packages/HeboTech.TimeService/) [![Nuget](https://img.shields.io/nuget/dt/HeboTech.TimeService)](https://www.nuget.org/packages/HeboTech.TimeService/) -Testable and configurable time service for .Net. +Configurable and simple time service for .Net that makes it easy to unit test your code. ## Usage Install as NuGet package From 257a5b6457dc5ea660bc23cec61a96d6b1995430 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henning=20Bj=C3=B8rgo?= Date: Tue, 19 Jan 2021 20:30:13 +0100 Subject: [PATCH 3/4] Updated Readme.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8971f60..aadd8d3 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ dotnet add package HeboTech.TimeService Example usage in production code ```csharp // Set up during application startup -TimeService.SetTimeProvider(new SystemTimeProvider()); +TimeService.SetProvider(new SystemTimeProvider()); // Use as a static service DateTime time = TimeService.UtcNow; @@ -25,7 +25,7 @@ Example usage when running unit tests // Set up during test initialization DateTime testTime = new DateTime(2020, 1, 1, 12, 0, 0, DateTimeKind.Utc); ManualTimeProvider testProvider = new ManualTimeProvider(testTime); -TimeService.SetTimeProvider(testProvider); +TimeService.SetProvider(testProvider); // Unit testing: @@ -33,7 +33,7 @@ TimeService.SetTimeProvider(testProvider); Assert.AreEqual(testTime, TimeService.UtcNow); // Add a TimeSpan to the current time -provider.Elapse(TimeSpan.FromDays(1)); +testProvider.Elapse(TimeSpan.FromDays(1)); // TimeService returns the new time Assert.AreEqual(testTime.AddDays(1), TimeService.UtcNow); From 8b68577cab18936ba0162e7a90ede82fd52bfbf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henning=20Bj=C3=B8rgo?= Date: Tue, 19 Jan 2021 20:33:02 +0100 Subject: [PATCH 4/4] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index aadd8d3..9df71ca 100644 --- a/README.md +++ b/README.md @@ -39,6 +39,4 @@ testProvider.Elapse(TimeSpan.FromDays(1)); Assert.AreEqual(testTime.AddDays(1), TimeService.UtcNow); ``` -For more examples, check out the TestConsole project in the code. - Feedback is welcome 🙂