C# DateTime wrapper for Microsoft.Extensions.DependencyInjection
with built-on testing support
Phema.DateTime
- Core abstractionsPhema.DateTime.Utc
-.AddUtcDateTime()
Phema.DateTime.Local
-.AddLocalDateTime()
Phema.DateTime.Test
-.AddTestDateTime(...)
// Add
services.AddUtcDateTime(); // .AddLocalDateTime();
// Get or inject
var dateTime = provider.GetRequiredService<IDateTime>();
// Use
var now = dateTime.Now;
services.AddTestDateTime(new DateTime(2012, 12, 12));
var dateTimeProcessed = someServiceUnderTest.ProcessSomeEntry(); // IDateTime.Now used
Assert.Equal(new DateTime(2012, 12, 12), dateTimeProcessed);