public void SHOULD_convert_field()
        {
            // arrange
            var facet = new FacetImpl
            {
                Id          = GetRandom.Guid(),
                FieldName   = GetRandom.String(10),
                FacetType   = "SingleSelect",
                IsDisplayed = true,
                // StartValue = GetRandom.NumericString(2),
                // EndValue = GetRandom.NumericString(2),
                // GapSize = GetRandom.NumericString(2),
                MaxCollapsedValueCount = GetRandom.Int(),
                MaxExpendedValueCount  = GetRandom.Int(),
                SortWeight             = GetRandom.Decimal(),
            };

            // act
            var result = FacetsMapper.ConvertToFacetSetting(facet);

            // assert
            result.Should().NotBeNull();
            result.FieldName.Should().Be(facet.FieldName);
            result.FacetType.Should().Be(FacetType.SingleSelect);
            result.FacetValueType.Should().Be(typeof(string));
            result.IsDisplayed.Should().Be(facet.IsDisplayed);
            // result.StartValue.Should().Be(facet.StartValue);
            // result.EndValue.Should().Be(facet.EndValue);
            // result.GapSize.Should().Be(facet.GapSize);
            result.MaxCollapsedValueCount.Should().Be(facet.MaxCollapsedValueCount);
            result.MaxExpendedValueCount.Should().Be(facet.MaxExpendedValueCount);
            result.SortWeight.Should().Be((double)facet.SortWeight);
        }
        protected virtual FacetImpl CreateFacet(params FacetImpl[] dependsOn)
        {
            var facet = new FacetImpl
            {
                Id                     = Guid.NewGuid(),
                FieldName              = GetRandom.String(10),
                FacetType              = "SingleSelect",
                SortWeight             = GetRandom.Decimal(),
                DependsOn              = "",
                IsDisplayed            = true,
                StartValue             = "",
                EndValue               = "",
                GapSize                = "",
                MaxCollapsedValueCount = 5,
                MaxExpendedValueCount  = null,
            };

            facet.DependsOnItems.AddRange(dependsOn);
            return(facet);
        }