public void GetValueReaders_returns_ObjectArrayReaders_over_an_enumerable_of_object_arrays() { var configurationMock = new Mock <DbContextConfiguration>(); var redisDatabaseMock = new Mock <RedisDatabase>(configurationMock.Object); var stateManagerMock = new Mock <StateManager>(); var redisQueryContextMock = new Mock <RedisQueryContext>( QueryTestType.Model(), NullLogger.Instance, stateManagerMock.Object, redisDatabaseMock.Object); var resultsFromDatabase = new List <object[]> { new object[] { 1, "SomeValue1" }, new object[] { 2, "SomeValue2" } }; redisQueryContextMock.Setup(m => m.GetResultsFromRedis(It.IsAny <RedisQuery>())).Returns(resultsFromDatabase); var entityType = QueryTestType.EntityType(); var redisQuery = new RedisQuery(entityType); var readers = redisQuery.GetValueReaders(redisQueryContextMock.Object); Assert.Equal(2, readers.Count()); int i = 1; foreach (var reader in readers) { Assert.Equal(i, reader.ReadValue <int>(0)); Assert.Equal("SomeValue" + i, reader.ReadValue <string>(1)); i++; } }