public void FieldsParameter002()
        {
            // Arrange
            var    expected = JObject.Parse(@"
            {
              ""fields"": [
                ""_id_"",
                ""_score_""
              ]
            }");
            string actual;
            var    jObject           = new JObject();
            var    expressionCache   = new ExpressionCache <TestDocument>();
            var    expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache);
            var    parameter         = new FieldsParameter <TestDocument>(expressionBuilder);

            parameter.Configure(q => q.Id, q => q.Score);

            // Act
            parameter.Execute(jObject);
            actual = jObject.ToString();

            // Assert
            Assert.Equal(expected.ToString(), actual);
        }
        public void FieldsParameter005()
        {
            // Arrange
            var expressionCache   = new ExpressionCache <TestDocument>();
            var expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache);
            var parameter         = new FieldsParameter <TestDocument>(expressionBuilder);

            // Act / Assert
            Assert.Throws <ArgumentException>(() => parameter.Configure(new Expression <Func <TestDocument, object> >[] { }));
        }
        public void FieldsParameter004()
        {
            // Arrange
            var expressionCache   = new ExpressionCache <TestDocument>();
            var expressionBuilder = (IExpressionBuilder <TestDocument>) new ExpressionBuilder <TestDocument>(expressionCache);
            var parameter         = new FieldsParameter <TestDocument>(expressionBuilder);

            // Act / Assert
            Assert.Throws <ArgumentNullException>(() => parameter.Configure(null));
        }
        public void FieldsParameter003()
        {
            // Arrange
            bool   actual;
            string dummy;
            var    expressionCache   = new ExpressionCache <TestDocumentWithAttribute>();
            var    expressionBuilder = (IExpressionBuilder <TestDocumentWithAttribute>) new ExpressionBuilder <TestDocumentWithAttribute>(expressionCache);
            var    parameter         = new FieldsParameter <TestDocumentWithAttribute>(expressionBuilder);

            parameter.Configure(q => q.Stored, q => q.NotStored);

            // Act
            parameter.Validate(out actual, out dummy);

            // Assert
            Assert.False(actual);
        }
        public void FieldsParameter006()
        {
            // Arrange
            bool   isValid;
            string errorMessage;
            var    expressionCache   = new ExpressionCache <TestDocumentWithAttribute>();
            var    expressionBuilder = (IExpressionBuilder <TestDocumentWithAttribute>) new ExpressionBuilder <TestDocumentWithAttribute>(expressionCache);
            var    parameter         = new FieldsParameter <TestDocumentWithAttribute>(expressionBuilder);

            parameter.Configure(q => q.Stored);

            // Act
            parameter.Validate(out isValid, out errorMessage);

            // Assert
            Assert.True(isValid);
        }
        public void FieldsParameter007()
        {
            // Arrange
            bool   isValid;
            string errorMessage;
            var    expressionCache   = new ExpressionCache <TestDocumentWithAttribute>();
            var    expressionBuilder = (IExpressionBuilder <TestDocumentWithAttribute>) new ExpressionBuilder <TestDocumentWithAttribute>(expressionCache);
            var    parameter         = new FieldsParameter <TestDocumentWithAttribute>(expressionBuilder);

            parameter.Configure(q => q.NotStored);

            // Act
            parameter.Validate(out isValid, out errorMessage);

            // Assert
            Assert.False(isValid);
            Assert.Equal(Resource.FieldMustBeStoredTrueToBeUsedInFieldsException, errorMessage);
        }
示例#7
0
        private T GetResource <T>(string RequestResourceUrl, params Parameter[] FieldsParameter) where T : new()
        {
            RestClient _Client = RestHelper.CreateComicVineClient(fApiKey);

            IRestRequest _Request = new RestRequest(RequestResourceUrl, Method.GET);

            if (FieldsParameter != null)
            {
                _Request.Parameters.AddRange(FieldsParameter.Where(w => w != null));
            }

            _Request.AddParameter(ApiResources.Format, ApiResources.FormatXML, ParameterType.QueryString);

            IRestResponse <T> _Response = _Client.Execute <T>(_Request);

            if (_Response.ErrorException != null)
            {
                throw _Response.ErrorException;
            }

            return(_Response.Data);
        }
示例#8
0
        public void FieldsParameter001()
        {
            // Arrange
            var container         = new List <string>();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var parameter = new FieldsParameter <TestDocument>(expressionBuilder);

            parameter.FieldExpressions = new Expression <Func <TestDocument, object> >[] {
                q => q.Id,
                q => q.Score
            };

            // Act
            parameter.Execute();
            parameter.AddResultInContainer(container);

            // Assert
            Assert.Single(container);
            Assert.Equal("fl=id,score", container[0]);
        }