コード例 #1
0
        public void FilterModifier_AddFilterTypeAfterComplexFilter_ThrowsException()
        {
            // Arrange
            var modifier = new FilterModifier <TestFilter>();

            modifier.Filter(f => f.Name.Contains("a.s.") || f.Name.Contains("s.r.o."));

            // Act + Assert
            Assert.Throws <InvalidOperationException>(() => modifier.FilterType(FilterType.And));
        }
コード例 #2
0
        public void FilterModifier_MultipleFiltersAtOnce_ReturnsCorrectQueryParam()
        {
            // Arrange
            var modifier = new FilterModifier <TestFilter>();
            Func <TestFilter, FilterExpression> filterExpression1 = (f) => f.Name.Contains("a");
            Func <TestFilter, FilterExpression> filterExpression2 = (f) => f.Date.IsLowerThan(DateTime.Now);

            modifier.Filter(filterExpression1, filterExpression2);
            modifier.FilterType(FilterType.Or);

            // Act
            var queryParams = modifier.GetQueryParameters();

            // Assert
            Assert.AreEqual(2, queryParams.Count);
            Assert.IsTrue(queryParams.TryGetValue("filter", out var filter));
            var filter1 = GetFilterExpression(filterExpression1);
            var filter2 = GetFilterExpression(filterExpression2);

            Assert.AreEqual($"{filter1}|{filter2}", filter);
            Assert.IsTrue(queryParams.TryGetValue("filterType", out var filterType));
            Assert.AreEqual("or", filterType);
        }
コード例 #3
0
ファイル: BaseList.cs プロジェクト: Solitea/IdokladSdk
 /// <summary>
 /// Filter type for a list.
 /// </summary>
 /// <param name="filterType">Filter type.</param>
 /// <returns>List of models.</returns>
 public TList FilterType(FilterType filterType)
 {
     _filter.FilterType(filterType);
     return(This);
 }