public void ExecuteAsyncWithNullExpression()
        {
            // Arrange
            Mock<ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock();
            var converter = new TableEntityConverter<Country>();
            var provider = new TableQueryProvider<Country>(cloudTableMock.Object, converter);

            // Act && Assert
            Assert.Throws<ArgumentNullException>(() => provider.ExecuteAsync(null));
        }
        public void ExecuteAsyncWithNullExpression()
        {
            // Arrange
            Mock <ICloudTable> cloudTableMock = MocksFactory.GetCloudTableMock();
            var converter = new TableEntityConverter <Country>();
            var provider  = new TableQueryProvider <Country>(cloudTableMock.Object, converter);

            // Act && Assert
            Assert.Throws <ArgumentNullException>(() => provider.ExecuteAsync(null));
        }
        public async Task CallExecuteAsyncMethodOfQueryProviderTest()
        {
            // Arrange
            TableSet <Country>           tableSet      = GetTableSet();
            TableQueryProvider <Country> queryProvider = GetTableQueryProvider();
            IQueryable <Country>         query         = tableSet.Where(p => p.IsExists == false);

            // Act
            object result = await queryProvider.ExecuteAsync(query.Expression);

            //Assert
            Assert.NotNull(result);
            Assert.True(result is IEnumerable <Country>);

            List <Country> typedResult = ((IEnumerable <Country>)result).ToList();

            Assert.Equal(1, typedResult.Count);
            Assert.Equal(Spain, typedResult[0].Name);
        }
Example #4
0
        /// <summary>
        ///     Constructor.
        /// </summary>
        /// <param name="cloudTableClient">Cloud table client.</param>
        /// <param name="tableName">Table name.</param>
        public TableSet(CloudTableClient cloudTableClient, string tableName)
        {
            if (cloudTableClient == null)
            {
                throw new ArgumentNullException(nameof(cloudTableClient));
            }

            if (string.IsNullOrEmpty(tableName))
            {
                throw new ArgumentNullException(nameof(tableName));
            }

            _cloudTable = cloudTableClient.GetTableReference(tableName);
            var cloudTableWrapper = new CloudTableWrapper(_cloudTable);
            var entityConverter   = new TableEntityConverter <TEntity>();

            RequestExecutorFactory = new TableRequestExecutorFactory <TEntity>(cloudTableWrapper, entityConverter);
            Provider        = new TableQueryProvider <TEntity>(cloudTableWrapper, entityConverter);
            RequestExecutor = RequestExecutorFactory.Create(_executionMode);
        }
        public void CallExecuteMethodOfQueryProviderTest()
        {
            // Arrange
            TableSet <Country>           tableSet      = GetTableSet();
            TableQueryProvider <Country> queryProvider = GetTableQueryProvider();
            IQueryable <Country>         query         = tableSet.Where(p => p.IsExists);

            // Act
            object result = queryProvider.Execute(query.Expression);

            //Assert
            Assert.NotNull(result);
            Assert.True(result is IEnumerable <Country>);

            List <Country> typedResult = ((IEnumerable <Country>)result).ToList();

            Assert.Equal(3, typedResult.Count);

            List <string> names = typedResult.Select(p => p.Name).ToList();

            Assert.Contains(Germany, names);
            Assert.Contains(France, names);
            Assert.Contains(Finland, names);
        }