Skip to content

Instantly share code, notes, and snippets.

@joshuaflanagan
Created June 14, 2011 16:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joshuaflanagan/1025274 to your computer and use it in GitHub Desktop.
Save joshuaflanagan/1025274 to your computer and use it in GitHub Desktop.
Stubbable replacement for DateTime.Now
public static class SystemClock
{
static SystemClock()
{
Live();
}
public static DateTime Now
{
get { return _getTime(); }
}
public static void Live()
{
_getTime = () => DateTime.UtcNow;
}
public static void Stub(DateTime theTimeToReturn)
{
_getTime = () => theTimeToReturn;
}
public static DateTime Today { get { return _getTime().Date; } }
public static void Stub(Func<DateTime> getTime)
{
_getTime = getTime;
}
private static Func<DateTime> _getTime;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment