예제 #1
0
        public void BoostParameter002()
        {
            // Arrange
            var container         = new List <string>();
            var expressionCache   = new ExpressionCache <TestDocument>();
            var expressionBuilder = new ExpressionBuilder <TestDocument>(expressionCache);
            var parameter         = new BoostParameter <TestDocument>(expressionBuilder);

            parameter.Configure(new Any <TestDocument>("id"), BoostFunctionType.Boost);

            // Act
            parameter.Execute(container);

            // Assert
            Assert.Equal(1, container.Count);
            Assert.Equal("boost=id", container[0]);
        }
        public void BoostParameter002()
        {
            // Arrange
            var    expected = JObject.Parse(@"
            {
                ""params"": {
                ""boost"": ""id""
                }
            }");
            string actual;
            var    jObject           = new JObject();
            var    expressionCache   = new ExpressionCache <TestDocument>();
            var    expressionBuilder = new ExpressionBuilder <TestDocument>(expressionCache);
            var    parameter         = new BoostParameter <TestDocument>(expressionBuilder);

            parameter.Configure(new Any <TestDocument>("id"), BoostFunctionType.Boost);

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

            // Assert
            Assert.Equal(actual, expected.ToString());
        }
예제 #3
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   = new BoostParameter <TestDocument>
            {
                BoostFunctionType = boostFunctionType,
                Query             = searchQuery.Field(q => q.Id)
            };

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

            // Assert
            Assert.Single(container);
            Assert.Equal(expected, container[0]);
        }