public void ItConvertsFromDocumentDbRecordLockedAndNotExpired()
        {
            // Arrange
            var id   = "123";
            var data = "fooData";
            var expirationUtcMsecs     = Now + testOffsetMs;
            var ownerId                = "foo";
            var ownerType              = "bar";
            var lockExpirationUtcMsecs = Now + testOffsetMs;

            DocumentDbRecord document = new DocumentDbRecord();

            document.Id   = id;
            document.Data = data;
            document.ExpirationUtcMsecs     = expirationUtcMsecs;
            document.LockOwnerId            = ownerId;
            document.LockOwnerType          = ownerType;
            document.LockExpirationUtcMsecs = lockExpirationUtcMsecs;

            // Act
            var target = StorageRecord.FromDocumentDbRecord(document);

            // Assert
            Assert.Equal(id, target.Id);
            Assert.Equal(data, target.Data);
            Assert.False(target.IsExpired());
            Assert.True(target.IsLocked());
        }
        public void ItConvertsFromDocumentDbRecordExpiredAndNotLocked()
        {
            // Arrange
            var id   = "123";
            var data = "fooData";
            var expirationUtcMsecs     = Now;
            var ownerId                = "foo";
            var ownerType              = "bar";
            var lockExpirationUtcMsecs = Now;

            DocumentDbRecord document = new DocumentDbRecord();

            document.Id   = id;
            document.Data = data;
            document.ExpirationUtcMsecs     = expirationUtcMsecs;
            document.LockOwnerId            = ownerId;
            document.LockOwnerType          = ownerType;
            document.LockExpirationUtcMsecs = lockExpirationUtcMsecs;

            // Act
            var target = StorageRecord.FromDocumentDbRecord(document);

            // Adding a small sleep to avoid the test executing the subsequent call(s) to
            // time-related methods in sub-millisecond time.
            Thread.Sleep(1);

            // Assert
            Assert.Equal(id, target.Id);
            Assert.Equal(data, target.Data);
            Assert.True(target.IsExpired());
            Assert.False(target.IsLocked());
        }
        public void ItIsNotLockedAndNotExpiredByDefault()
        {
            // Act
            // Recreate the target, so that we can have confidence
            // that a different test hasn't altered it before this test
            // runs
            this.target = new DocumentDbRecord();

            // Assert
            Assert.False(this.target.IsLocked());
            Assert.False(this.target.IsExpired());
        }
 public DocumentDbRecordTest()
 {
     this.target = new DocumentDbRecord();
 }