public void List_ReturnsItem_IfInnerStoreReturnsItem() { // Arrange string expectedPrefix = "Prefix"; string expectedId = "Id"; string expectedETag = "ETag"; IDictionary<string, string> expectedMetadata = new Dictionary<string, string>(); DateTimeOffset expectedVersion = DateTimeOffset.Now; Mock<IConcurrentMetadataTextStore> innerStoreMock = new Mock<IConcurrentMetadataTextStore>(MockBehavior.Strict); innerStoreMock.Setup(s => s.List(expectedPrefix)).Returns(new ConcurrentMetadata[] { new ConcurrentMetadata(expectedId, expectedETag, expectedMetadata) }); IConcurrentMetadataTextStore innerStore = innerStoreMock.Object; IVersionMetadataMapper versionMapper = CreateMapper(expectedMetadata, expectedVersion); IVersionedMetadataTextStore product = CreateProductUnderTest(innerStore, versionMapper); // Act IEnumerable<VersionedMetadata> results = product.List(expectedPrefix); // Assert VersionedMetadata expectedItem = new VersionedMetadata(expectedId, expectedETag, expectedMetadata, expectedVersion); Assert.NotNull(results); Assert.Equal(1, results.Count()); VersionedMetadata result = results.First(); AssertEqual(expectedItem, result); }
public IEnumerable <VersionedMetadata> List(string prefix) { IEnumerable <ConcurrentMetadata> innerResults = _innerStore.List(prefix); if (innerResults == null) { return(null); } List <VersionedMetadata> results = new List <VersionedMetadata>(); foreach (ConcurrentMetadata innerResult in innerResults) { IDictionary <string, string> metadata = innerResult.Metadata; DateTimeOffset version = _versionMapper.GetVersion(metadata); VersionedMetadata result = new VersionedMetadata(innerResult.Id, innerResult.ETag, metadata, version); results.Add(result); } return(results); }
public IEnumerable<VersionedMetadata> List(string prefix) { IEnumerable<ConcurrentMetadata> innerResults = _innerStore.List(prefix); if (innerResults == null) { return null; } List<VersionedMetadata> results = new List<VersionedMetadata>(); foreach (ConcurrentMetadata innerResult in innerResults) { IDictionary<string, string> metadata = innerResult.Metadata; DateTimeOffset version = _versionMapper.GetVersion(metadata); VersionedMetadata result = new VersionedMetadata(innerResult.Id, innerResult.ETag, metadata, version); results.Add(result); } return results; }
private static void AssertEqual(VersionedMetadata expected, VersionedMetadata actual) { if (expected == null) { Assert.Null(actual); return; } Assert.NotNull(actual); Assert.Equal(expected.Id, actual.Id); Assert.Equal(expected.ETag, actual.ETag); Assert.Equal(expected.Metadata, actual.Metadata); Assert.Equal(expected.Version, actual.Version); }