public void FacetFieldParameterTheory001(Action <IFacetFieldParameter <TestDocument> > config, JObject expectd)
        {
            // Arrange
            var container         = new JObject();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var serviceProvider = new Mock <ISolrExpressServiceProvider <TestDocument> >();

            serviceProvider
            .Setup(q => q.GetService <IFacetFieldParameter <TestDocument> >())
            .Returns(new FacetFieldParameter <TestDocument>(expressionBuilder, serviceProvider.Object));
            serviceProvider
            .Setup(q => q.GetService <SearchQuery <TestDocument> >())
            .Returns(new SearchQuery <TestDocument>(expressionBuilder));
            var parameter = (IFacetFieldParameter <TestDocument>) new FacetFieldParameter <TestDocument>(expressionBuilder, serviceProvider.Object);

            config.Invoke(parameter);

            // Act
            ((ISearchItemExecution <JObject>)parameter).Execute();
            ((ISearchItemExecution <JObject>)parameter).AddResultInContainer(container);

            // Assert
            Assert.Equal(expectd.ToString(), container.ToString());
        }
        public void DefaultFieldParameter001()
        {
            // Arrange
            var expected          = JObject.Parse(@"
            {
                ""params"":
                {
                    ""df"": ""id""
                }
            }");
            var container         = new JObject();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

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

            parameter.FieldExpression = q => q.Id;

            // Act
            ((ISearchItemExecution <JObject>)parameter).Execute();
            ((ISearchItemExecution <JObject>)parameter).AddResultInContainer(container);

            // Assert
            Assert.Equal(expected.ToString(), container.ToString());
        }
Esempio n. 3
0
        public void BaseStandardQueryParameter002()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();

            var parameter1 = new Mock <BaseStandardQueryParameter <TestDocument> >
            {
                CallBase = true
            }.Object;

            parameter1.Value = new SearchQuery <TestDocument>(expressionBuilder).AddField(q => q.Id);

            var parameter2 = new Mock <BaseStandardQueryParameter <TestDocument> >
            {
                CallBase = true
            }.Object;

            parameter2.Value = new SearchQuery <TestDocument>(expressionBuilder).AddField(q => q.Dummy);

            // Act
            var result = parameter1.Equals(parameter2);

            // Assert
            Assert.False(result);
        }
        public void FieldsParameter001()
        {
            // Arrange
            var expected          = JObject.Parse(@"
            {
              ""fields"": [
                ""id"",
                ""score""
              ]
            }");
            var container         = new JObject();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

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

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

            // Act
            ((ISearchItemExecution <JObject>)parameter).Execute();
            ((ISearchItemExecution <JObject>)parameter).AddResultInContainer(container);

            // Assert
            Assert.Equal(expected.ToString(), container.ToString());
        }
Esempio n. 5
0
        public void BaseBoostParameter002()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TestDocument>(expressionBuilder);

            var parameter1 = new Mock <BaseBoostParameter <TestDocument> >
            {
                CallBase = true
            }.Object;

            parameter1.BoostFunctionType = BoostFunctionType.Bf;
            parameter1.Query             = searchQuery.Field(q => q.Id);

            var parameter2 = new Mock <BaseBoostParameter <TestDocument> >
            {
                CallBase = true
            }.Object;

            parameter2.BoostFunctionType = BoostFunctionType.Boost;
            parameter2.Query             = searchQuery.Field(q => q.Id);

            // Act
            var result = parameter1.Equals(parameter2);

            // Assert
            Assert.False(result);
        }
        public void BaseDefaultFieldParameter002()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var parameter1 = new Mock <BaseDefaultFieldParameter <TestDocument> >
            {
                CallBase = true
            }.Object;

            parameter1.ExpressionBuilder = expressionBuilder;
            parameter1.FieldExpression   = q => q.Id;

            var parameter2 = new Mock <BaseDefaultFieldParameter <TestDocument> >
            {
                CallBase = true
            }.Object;

            parameter2.ExpressionBuilder = expressionBuilder;
            parameter2.FieldExpression   = q => q.Dummy;

            // Act
            var result = parameter1.Equals(parameter2);

            // Assert
            Assert.False(result);
        }
        public void FilterQueryParameter002()
        {
            // Arrange
            var expected          = JObject.Parse(@"
            {
              ""filter"": [
                ""{!tag=tag1}id:\""X\""""
              ]
            }");
            var container         = new JObject();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TestDocument>(expressionBuilder);
            var parameter   = (IFilterParameter <TestDocument>) new FilterParameter <TestDocument>();

            parameter.Query   = searchQuery.Field(q => q.Id).AddValue("X");
            parameter.TagName = "tag1";

            // Act
            ((ISearchItemExecution <JObject>)parameter).Execute();
            ((ISearchItemExecution <JObject>)parameter).AddResultInContainer(container);

            // Assert
            Assert.Equal(expected.ToString(), container.ToString());
        }
        public void Setup()
        {
            var solrExpressOptions = new SolrExpressOptions();
            var solrConnection     = new FakeSolrConnection <TestDocument>();
            var expressionBuilder  = new ExpressionBuilder <TestDocument>(solrExpressOptions, solrConnection);

            expressionBuilder.LoadDocument();

            var facetRange1 = (IFacetRangeParameter <TestDocument>) new FacetRangeParameter <TestDocument>(expressionBuilder, null);

            facetRange1.FieldExpression = field => field.Age;
            facetRange1.AliasName       = "facetRange";

            this._searchParameters = new List <ISearchParameter>
            {
                facetRange1
            };

            this._result = new FacetsResult <TestDocument>();

            // Data using http://www.json-generator.com/
            var assembly      = typeof(FacetsResultBenchmarks).GetTypeInfo().Assembly;
            var jsonPlainText = EmbeddedResourceHelper.GetByName(assembly, $"SolrExpress.Benchmarks.Solr4.Search.Result.FacetsResultBenchmarks_{this.FacetTypes}{this.ElementsCount}.json");

            this._jsonStream = new MemoryStream(Encoding.GetEncoding(0).GetBytes(jsonPlainText));
        }
Esempio n. 9
0
        public void FilterQueryParameter001()
        {
            // 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 parameter1 = (IFilterParameter <TestDocument>) new FilterParameter <TestDocument>();

            parameter1.Query = new SearchQuery <TestDocument>(expressionBuilder).Field(q => q.Id).AddValue("X");
            var parameter2 = (IFilterParameter <TestDocument>) new FilterParameter <TestDocument>();

            parameter2.Query = new SearchQuery <TestDocument>(expressionBuilder).Field(q => q.Score).AddValue("Y");

            // Act
            ((ISearchItemExecution <List <string> >)parameter1).Execute();
            ((ISearchItemExecution <List <string> >)parameter1).AddResultInContainer(container);
            ((ISearchItemExecution <List <string> >)parameter2).Execute();
            ((ISearchItemExecution <List <string> >)parameter2).AddResultInContainer(container);

            // Assert
            Assert.Equal(2, container.Count);
            Assert.Equal("fq=id:\"X\"", container[0]);
            Assert.Equal("fq=score:\"Y\"", container[1]);
        }
Esempio n. 10
0
        public void LocalParameter001()
        {
            // Arrange
            var expected          = JObject.Parse(@"
            {
              ""params"": {
                ""myLocalParameter"": ""id:\""ITEM01\""""
              }
            }");
            var container         = new JObject();
            var parameter         = new LocalParameter <TestDocument>();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TestDocument>(expressionBuilder);

            parameter.Name  = "myLocalParameter";
            parameter.Query = searchQuery.Field(q => q.Id).EqualsTo("ITEM01");

            // Act
            ((ISearchItemExecution <JObject>)parameter).Execute();
            ((ISearchItemExecution <JObject>)parameter).AddResultInContainer(container);

            // Assert
            Assert.Equal(expected.ToString(), container.ToString());
        }
Esempio n. 11
0
        public void BaseFieldsParameter001()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var parameter1 = new Mock <BaseFieldsParameter <TestDocument> >
            {
                CallBase = true
            }.Object;

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

            // Act
            var result = parameter1.Equals(parameter1);

            // Assert
            Assert.True(result);
        }
        public void ExpressionBuilder006()
        {
            // Arrange
            var solrExpressOptions = new SolrExpressOptions();
            var solrConnection     = new Mock <ISolrConnection>();

            solrConnection
            .Setup(q => q.Get(It.Is <string>(s => s.EndsWith("schema/fields")), It.IsAny <List <string> >()))
            .Returns(@"
                {
                ""fields"": [
                    {
                        ""name"": ""id"",
                        ""indexed"": true,
                        ""stored"": true
                    },
                    {
                        ""name"": ""no_dynamic"",
                        ""indexed"": true,
                        ""stored"": true
                    },
                    {
                        ""name"": ""dynamic"",
                        ""indexed"": true,
                        ""stored"": true
                    }]
                }");

            solrConnection
            .Setup(q => q.Get(It.Is <string>(s => s.EndsWith("schema/dynamicfields")), It.IsAny <List <string> >()))
            .Returns(@"
                {
	                ""dynamicFields"": [{

                        ""name"": ""*_x"",
                        ""indexed"": true,
                        ""stored"": true

                    }]
                }");

            var expressionBuilder = new ExpressionBuilder <TestDocumentDynamic>(solrExpressOptions, solrConnection.Object);

            expressionBuilder.LoadSolrSchemaFields();

            // Act
            var fieldData = expressionBuilder.GetFieldSchema("id_x");

            // Assert
            Assert.True(fieldData.IsIndexed);
            Assert.True(fieldData.IsStored);
        }
Esempio n. 13
0
        public DocumentSearch(
            SolrExpressOptions solrExpressOptions,
            ISolrExpressServiceProvider <TDocument> serviceProvider,
            ISearchItemCollection <TDocument> searchItemCollection)
        {
            Checker.IsNull(solrExpressOptions);
            Checker.IsNull(serviceProvider);
            Checker.IsNull(searchItemCollection);

            this._solrExpressOptions   = solrExpressOptions;
            this._searchItemCollection = searchItemCollection;
            this.ServiceProvider       = serviceProvider;
        }
Esempio n. 14
0
        public void SearchQueryFact006()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TechProductDocument>();
            var expressionBuilder = new ExpressionBuilder <TechProductDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TechProductDocument>(expressionBuilder);

            // Act
            var result = searchQuery.AddValue(new DateTime(1984, 09, 05, 10, 20, 30)).Execute();

            // Assert
            Assert.Equal("1984-09-05T10:20:30Z", result);
        }
        public void SearchQueryFact004()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TechProductDocument>();
            var expressionBuilder = new ExpressionBuilder <TechProductDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TechProductDocument>(expressionBuilder);

            // Act
            var result = searchQuery.EqualsTo(10).Execute();

            // Assert
            Assert.Equal("10", result);
        }
        public void SearchQueryFact006()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TestDocument>(expressionBuilder);

            // Act
            var result = searchQuery.Field(q => q.Id).Execute();

            // Assert
            Assert.Equal("id", result);
        }
        public void SearchQueryFact009()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TechProductDocument>();
            var expressionBuilder = new ExpressionBuilder <TechProductDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TechProductDocument>(expressionBuilder);

            // Act
            var result = searchQuery.Contains("some value").Execute();

            // Assert
            Assert.Equal(@"/*.some value.*/", result);
        }
        public void ExpressionBuilder002()
        {
            // Arrange
            var solrExpressOptions = new SolrExpressOptions();
            var solrConnection     = new Mock <ISolrConnection>();

            solrConnection
            .Setup(q => q.Get(It.Is <string>(s => s.EndsWith("schema/fields")), It.IsAny <List <string> >()))
            .Returns(@"
                {
                ""fields"": [
                    {
                        ""name"": ""id"",
                        ""indexed"": true,
                        ""stored"": true
                    },
                    {
                        ""name"": ""no_dynamic"",
                        ""indexed"": true,
                        ""stored"": true
                    },
                    {
                        ""name"": ""dynamic"",
                        ""indexed"": true,
                        ""stored"": true
                    }]
                }");

            solrConnection
            .Setup(q => q.Get(It.Is <string>(s => s.EndsWith("schema/dynamicfields")), It.IsAny <List <string> >()))
            .Returns(@"
                {
	                ""dynamicFields"": []
                }");
            var expressionBuilder = new ExpressionBuilder <TestDocumentDynamic>(solrExpressOptions, solrConnection.Object);

            expressionBuilder.LoadDocument();

            // Act
            var fieldName = expressionBuilder.GetFieldName(q => q.DynamicWithPrefixAndSufix);

            // Assert
            Assert.Equal("prefix_dynamic_suffix", fieldName);
        }
        public void SearchQueryFact010()
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TechProductDocument>();
            var expressionBuilder = new ExpressionBuilder <TechProductDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TechProductDocument>(expressionBuilder);

            // Act
            var result = searchQuery
                         .Field(f => f.Id).EqualsTo(10)
                         .Or(q =>
                             q.Field(f => f.Name).Any("name#1", "name#2", "name#3"))
                         .Execute();

            // Assert
            Assert.Equal("id:10 OR (name:(\"name#1\" OR \"name#2\" OR \"name#3\"))", result);
        }
        public void SpatialFilterParameterTheory001(Action <ISpatialFilterParameter <TestDocument> > config, JObject expectd)
        {
            // Arrange
            var container         = new JObject();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

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

            config.Invoke(parameter);

            // Act
            ((ISearchItemExecution <JObject>)parameter).Execute();
            ((ISearchItemExecution <JObject>)parameter).AddResultInContainer(container);

            // Assert
            Assert.Equal(expectd.ToString(), container.ToString());
        }
Esempio n. 21
0
        public void FacetRangeParameterTheory002(Action <IFacetRangeParameter <TestDocument> > config)
        {
            // Arrange
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var serviceProvider = new Mock <ISolrExpressServiceProvider <TestDocument> >();

            serviceProvider
            .Setup(q => q.GetService <SearchQuery <TestDocument> >())
            .Returns(new SearchQuery <TestDocument>(expressionBuilder));
            var parameter = (IFacetRangeParameter <TestDocument>) new FacetRangeParameter <TestDocument>(expressionBuilder, serviceProvider.Object);

            config.Invoke(parameter);

            // Act / Assert
            Assert.Throws <UnsupportedFeatureException>(() => ((ISearchItemExecution <List <string> >)parameter).Execute());
        }
        public void SortParameter001()
        {
            // 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 = (ISortParameter <TestDocument>) new SortParameter <TestDocument>(expressionBuilder);

            parameter.FieldExpression(q => q.Id);

            // Act
            ((ISearchItemExecution <List <string> >)parameter).Execute();
            ((ISearchItemExecution <List <string> >)parameter).AddResultInContainer(container);

            // Assert
            Assert.Single(container);
            Assert.Equal("sort=id asc", container[0]);
        }
        public void DefaultFieldParameter001()
        {
            // 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 DefaultFieldParameter <TestDocument>(expressionBuilder)
            {
                FieldExpression = q => q.Id
            };

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

            // Assert
            Assert.Single(container);
            Assert.Equal("df=id", container[0]);
        }
Esempio n. 24
0
        public void QueryParameter002()
        {
            // Arrange
            var container         = new List <string>();
            var parameter         = (IQueryParameter <TestDocument>) new QueryParameter <TestDocument>();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TestDocument>(expressionBuilder);

            parameter.Value = searchQuery.EqualsTo("ITEM01");

            // Act
            ((ISearchItemExecution <List <string> >)parameter).Execute();
            ((ISearchItemExecution <List <string> >)parameter).AddResultInContainer(container);

            // Assert
            Assert.Single(container);
            Assert.Equal("q=\"ITEM01\"", container[0]);
        }
Esempio n. 25
0
        public void FacetRangeParameterTheory001(Action <IFacetRangeParameter <TestDocument> > config, string expectd)
        {
            // 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 = (IFacetRangeParameter <TestDocument>) new FacetRangeParameter <TestDocument>(expressionBuilder, null);

            config.Invoke(parameter);

            // Act
            ((ISearchItemExecution <List <string> >)parameter).Execute();
            ((ISearchItemExecution <List <string> >)parameter).AddResultInContainer(container);

            // Assert
            var actual = string.Join("&", container);

            Assert.Equal(expectd, actual);
        }
Esempio n. 26
0
        public void StandardQueryParameter001()
        {
            // Arrange
            var expected          = JObject.Parse("{\"params\":{\"q.alt\": \"id:\\\"ITEM01\\\"\"}}");
            var container         = new JObject();
            var parameter         = (IStandardQueryParameter <TestDocument>) new StandardQueryParameter <TestDocument>();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TestDocument>(expressionBuilder);

            parameter.Value = searchQuery.Field(q => q.Id).EqualsTo("ITEM01");

            // Act
            ((ISearchItemExecution <JObject>)parameter).Execute();
            ((ISearchItemExecution <JObject>)parameter).AddResultInContainer(container);

            // Assert
            Assert.Equal(expected.ToString(), container.ToString());
        }
        public void LocalParameter001()
        {
            // Arrange
            var container         = new List <string>();
            var parameter         = new LocalParameter <TestDocument>();
            var solrOptions       = new SolrExpressOptions();
            var solrConnection    = new FakeSolrConnection <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(solrOptions, solrConnection);

            expressionBuilder.LoadDocument();
            var searchQuery = new SearchQuery <TestDocument>(expressionBuilder);

            parameter.Name  = "myLocalParameter";
            parameter.Query = searchQuery.Field(q => q.Id).EqualsTo("ITEM01");

            // Act
            ((ISearchItemExecution <List <string> >)parameter).Execute();
            ((ISearchItemExecution <List <string> >)parameter).AddResultInContainer(container);

            // Assert
            Assert.Single(container);
            Assert.Equal("myLocalParameter=id:\"ITEM01\"", container[0]);
        }
        public void BoostParameterTheory001(BoostFunctionType boostFunctionType, string expected)
        {
            // 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 searchQuery = new SearchQuery <TestDocument>(expressionBuilder);
            var parameter   = (IBoostParameter <TestDocument>) new BoostParameter <TestDocument>();

            parameter.BoostFunctionType = boostFunctionType;
            parameter.Query             = searchQuery.Field(q => q.Id);

            // Act
            ((ISearchItemExecution <List <string> >)parameter).Execute();
            ((ISearchItemExecution <List <string> >)parameter).AddResultInContainer(container);

            // Assert
            Assert.Single(container);
            Assert.Equal(expected, container[0]);
        }
Esempio n. 29
0
        public void DocumentSearchFact001()
        {
            // Arrange
            var solrExpressOptions = new SolrExpressOptions
            {
                CheckAnyParameter = true
            };
            var serviceProvider      = new Mock <ISolrExpressServiceProvider <TestDocument> >();
            var searchItemCollection = new Mock <ISearchItemCollection <TestDocument> >();

            var documentSearch = new DocumentSearch <TestDocument>(
                solrExpressOptions,
                serviceProvider.Object,
                searchItemCollection.Object);

            var parameter = new FakeParameter
            {
                Name = "q"
            };

            // Act / Assert
            Assert.Throws <SearchParameterIsInvalidException>(() => documentSearch.ValidateSearchItem(parameter));
        }
Esempio n. 30
0
        public void DocumentSearchFact002()
        {
            // Arrange
            var solrExpressOptions = new SolrExpressOptions
            {
                CheckAnyParameter = false
            };
            var serviceProvider      = new Mock <ISolrExpressServiceProvider <TestDocument> >();
            var searchItemCollection = new Mock <ISearchItemCollection <TestDocument> >();

            var documentSearch = new DocumentSearch <TestDocument>(
                solrExpressOptions,
                serviceProvider.Object,
                searchItemCollection.Object);

            var parameter = new FakeParameter
            {
                Name = "q"
            };

            // Act / Assert
            documentSearch.ValidateSearchItem(parameter);
        }