Esempio n. 1
0
        public void BuildSearch_WithSingleTagElement_BuildsExpectedSpec()
        {
            // Arrange
            var builder = MakeSearch <Employee> .WithTags(emp =>
            {
                string tag = "average";

                if (emp.Age < 18)
                {
                    tag = "young";
                }
                else if (emp.Age >= 60)
                {
                    tag = "old";
                }

                return(new List <string> {
                    tag
                });
            });

            var employee = new Employee {
                Name = "Magnus Carlsen", Age = 28
            };

            // Act
            var spec = builder.BuildSearch(employee);

            // Assert
            Assert.NotNull(spec);
            Assert.Single(spec.Elements);
            Assert.True(spec.Elements.First() is TagSearchSpecElement);
        }
        private static SearchBuilder <Employee> GetSearchBuilder()
        {
            return(MakeSearch <Employee> .WithComponentTypeAndFields(
                       emp => "Country",
                       emp =>
            {
                var ageGroup = "old";
                if (emp.Age <= 12)
                {
                    ageGroup = "child";
                }
                else if (emp.Age <= 18)
                {
                    ageGroup = "teenager";
                }
                else if (emp.Age <= 60)
                {
                    ageGroup = "adult";
                }

                return new Dictionary <string, object> {
                    ["age_group"] = ageGroup
                };
            }));
        }
Esempio n. 3
0
        public void BuildSearch_WithComponentType_BuildsExpectedSpec()
        {
            // Arrange
            var builder = MakeSearch <Employee> .WithComponentType(e => "Employee");

            var employee = new Employee {
                Name = "Magnus Carlsen", Age = 28
            };

            // Act
            var spec = builder.BuildSearch(employee);

            // Assert
            Assert.NotNull(spec);
            Assert.Single(spec.Elements);
            Assert.True(spec.Elements.First() is ComponentTypeAndFieldSearchSpecElement);
        }
Esempio n. 4
0
        public void BuildSearch_WithFieldGetters_BuildsExpectedSpec()
        {
            // Arrange
            var builder = MakeSearch <Employee> .WithFields(e => new Dictionary <string, object> {
                ["profession"] = "chess", ["nationality"] = "NOR"
            });

            var employee = new Employee {
                Name = "Magnus Carlsen", Age = 28
            };

            // Act
            var spec = builder.BuildSearch(employee);

            // Assert
            Assert.NotNull(spec);
            Assert.Single(spec.Elements);
            Assert.True(spec.Elements.First() is ComponentTypeAndFieldSearchSpecElement);
        }