public void CreatedAtPropertyShouldChangeUsageAfterUsage()
{
var beforeCreation = DateTime.UtcNow;
// First usage.
DateTime createdAt;
using (var pms = _memoryStreamPool.GetObject())
{
createdAt = pms.CreatedAt;
createdAt.ShouldBeLessThanOrEqualTo(beforeCreation);
createdAt.Kind.ShouldBe(DateTimeKind.Utc);
}
// Second usage is different, pool uses a queue, not a stack.
using (var pms = _memoryStreamPool.GetObject())
{
pms.CreatedAt.ShouldBeLessThanOrEqualTo(beforeCreation);
pms.CreatedAt.ShouldBeGreaterThanOrEqualTo(createdAt);
createdAt.Kind.ShouldBe(DateTimeKind.Utc);
}
}