コード例 #1
0
        public void ToInt_DiscreteIntegerStringPick_ConvertedToCorrespondingInt()
        {
            // Arrange
            var pickValue       = "19";
            var facetConfigPick = new FacetConfigPick(EPickType.discrete, pickValue);
            // Act
            var result = facetConfigPick.ToInt();

            // Assert
            Assert.Equal(19, result);
        }
コード例 #2
0
        public void ToDecimal_WhenDecimalValue_ConvertedValue()
        {
            // Arrange
            decimal pickValue       = 19.1M;
            var     facetConfigPick = new FacetConfigPick(EPickType.discrete, pickValue);

            // Act
            var result = facetConfigPick.ToDecimal();

            // Assert
            Assert.Equal(pickValue, result);
        }
コード例 #3
0
        public void HasPicks_WhenRangeFacetHasPicks_IsTrue()
        {
            // Arrange
            var facetConfig2 = new FacetConfig2 {
                FacetCode = "dummy_code",
                Facet     = new Mock <Facet>().Object,
                Position  = 0,
                Picks     = FacetConfigPick.CreateLowerUpper(3M, 52M)
            };
            // Act
            var result = facetConfig2.HasPicks();

            // Assert
            Assert.True(result);
        }
コード例 #4
0
        public void CreateLowerUpper_LowerUpper_ListOfTwoPicks()
        {
            // Arrange
            decimal lower = 5;
            decimal upper = 10;

            // Act
            var result = FacetConfigPick.CreateLowerUpper(lower, upper);

            // Assert
            Assert.Equal(2, result.Count);
            Assert.Equal(EPickType.lower, result[0].PickType);
            Assert.Equal(lower.ToString(), result[0].PickValue);
            Assert.Equal(EPickType.upper, result[1].PickType);
            Assert.Equal(upper.ToString(), result[1].PickValue);
        }
コード例 #5
0
        private List <FacetConfigPick> ParsePicks(string data)
        {
            var cultureInfo = new CultureInfo("en-US");

            Match m = tupleRegex.Match(data);

            if (m.Success && m.Groups.Count == 3)
            {
                var lower = Decimal.Parse(m.Groups[1].Value, NumberStyles.Any, cultureInfo);
                var upper = Decimal.Parse(m.Groups[2].Value, NumberStyles.Any, cultureInfo);

                return(FacetConfigPick.CreateLowerUpper(lower, upper));
            }

            return(data.Split(",").Select(z => new FacetConfigPick(EPickType.discrete, z)).ToList());
        }
        public void Compile_WhenHasPicksAndTargetAndCurrentFacetAreNotTheSame_ReturnsCriteria()
        {
            // Arrange
            var discreteFacetPickFilterCompiler = new DiscreteFacetPickFilterCompiler();
            var picks = new List <int>()
            {
                1, 2, 3
            };
            Facet        targetFacet  = Registry.Facets.GetByCode("sites");
            Facet        currentFacet = Registry.Facets.GetByCode("country");
            FacetConfig2 config       = new FacetConfig2(targetFacet, 1, "", FacetConfigPick.CreateDiscrete(picks));

            // Act
            var result = discreteFacetPickFilterCompiler.Compile(targetFacet, currentFacet, config);

            // Assert
            Assert.NotEqual($"({currentFacet.CategoryIdExpr}::text in ({picks.BuildString<int>(", ", "'")})) ", result);
        }
コード例 #7
0
        public void HasPicks_WhenDiscreteFacetHasPicks_IsTrue()
        {
            // Arrange
            var facetConfig2 = new FacetConfig2 {
                FacetCode = "dummy_code",
                Facet     = new Mock <Facet>().Object,
                Position  = 0,
                Picks     = FacetConfigPick.CreateDiscrete(new List <int>()
                {
                    1, 2, 3
                })
            };
            // Act
            var result = facetConfig2.HasPicks();

            // Assert
            Assert.True(result);
        }
コード例 #8
0
        public void ClearPicks_StateUnderTest_ExpectedBehavior()
        {
            // Arrange
            var facetConfig2 = new FacetConfig2 {
                FacetCode = "dummy_code",
                Facet     = new Mock <Facet>().Object,
                Position  = 0,
                Picks     = FacetConfigPick.CreateDiscrete(new List <int>()
                {
                    1, 2, 3
                })
            };

            // Act
            facetConfig2.ClearPicks();

            // Assert
            Assert.False(facetConfig2.HasPicks());
        }
        public void Compile_WhenNoPicks_ReturnsEmptyString()
        {
            // Arrange
            var          discreteFacetPickFilterCompiler = new DiscreteFacetPickFilterCompiler();
            Facet        targetFacet  = Registry.Facets.GetByCode("sites");
            Facet        currentFacet = Registry.Facets.GetByCode("country");
            FacetConfig2 config       = new FacetConfig2(
                targetFacet,
                1,
                "",
                FacetConfigPick.CreateDiscrete(new List <int>()
            {
            })
                );

            // Act
            var result = discreteFacetPickFilterCompiler.Compile(targetFacet, currentFacet, config);

            // Assert
            Assert.Equal("", result);
        }
コード例 #10
0
        public void GetPickValues_WhenHasPicks_Success()
        {
            // Arrange
            var facetConfig2 = new FacetConfig2 {
                FacetCode = "dummy_code",
                Facet     = new Mock <Facet>().Object,
                Position  = 0,
                Picks     = FacetConfigPick.CreateDiscrete(new List <int>()
                {
                    1, 2, 3
                })
            };
            bool sort = false;

            // Act
            var result = facetConfig2.GetPickValues(sort);

            // Assert
            Assert.Equal(3, result.Count);
            Assert.Equal(1, result[0]);
            Assert.Equal(2, result[1]);
            Assert.Equal(3, result[2]);
        }
コード例 #11
0
        public void GetJoinTables_StateUnderTest_Success()
        {
            // Arrange
            var facet        = Registry.Facets.GetByCode("result_facet");
            var facetConfig2 = new FacetConfig2 {
                FacetCode = "result_facet",
                Facet     = facet,
                Position  = 0,
                Picks     = FacetConfigPick.CreateDiscrete(new List <int>()
                {
                    1, 2, 3
                })
            };
            // Act
            var result = facetConfig2.GetJoinTables();

            // Assert
            var expected = new List <string>()
            {
                "tbl_analysis_entities", "tbl_datasets", "tbl_physical_samples"
            };

            Assert.Equal(expected, result);
        }
コード例 #12
0
 public static FacetConfig2 Create(Facet facet, int position, decimal lower, decimal upper, string filter = "")
 {
     return(new FacetConfig2(facet, position, filter, FacetConfigPick.CreateLowerUpper(lower, upper)));
 }
コード例 #13
0
 public static FacetConfig2 Create(Facet facet, int position, List <int> ids, string filter = "")
 {
     return(new FacetConfig2(facet, position, filter, FacetConfigPick.CreateDiscrete(ids)));
 }