コード例 #1
0
        public void ODataQueryBuilderList_concat_is_null_or_empty_value_agr2_success(string value)
        {
            var odataQueryBuilderOptions = new ODataQueryBuilderOptions {
                SuppressExceptionOfNullOrEmptyFunctionArgs = true
            };
            var odataQueryBuilder = new ODataQueryBuilder <ODataInfoContainer>(
                _commonFixture.BaseUri, odataQueryBuilderOptions);

            var uri = odataQueryBuilder
                      .For <ODataTypeEntity>(s => s.ODataType)
                      .ByList()
                      .Filter((s, f) => f.Concat(s.TypeCode, value) == "typeCodeTest;")
                      .ToUri();

            uri.OriginalString.Should().Be("http://mock/odata/ODataType?$filter='typeCodeTest;'");
        }
コード例 #2
0
        public void ODataQueryBuilderList_Operator_In_is_empty_1()
        {
            var constEmptyIntIds = new int[0];

            var odataQueryBuilderOptions = new ODataQueryBuilderOptions {
                SuppressExceptionOfNullOrEmptyOperatorArgs = false
            };
            var odataQueryBuilder = new ODataQueryBuilder <ODataInfoContainer>(
                _commonFixture.BaseUri, odataQueryBuilderOptions);

            odataQueryBuilder.Invoking(
                (r) => r
                .For <ODataTypeEntity>(s => s.ODataType)
                .ByList()
                .Filter((s, f, o) => o.In(s.IdType, constEmptyIntIds))
                .ToUri())
            .Should().Throw <ArgumentException>().WithMessage("Enumeration is empty or null");
        }
コード例 #3
0
        public void ODataQueryBuilderList_Operator_In_Empty_Success()
        {
            var odataQueryBuilderOptions = new ODataQueryBuilderOptions {
                SuppressExceptionOfNullOrEmptyOperatorArgs = true
            };
            var odataQueryBuilder = new ODataQueryBuilder <ODataInfoContainer>(
                _commonFixture.BaseUri, odataQueryBuilderOptions);

            var constStrIds = default(IEnumerable <string>);
            var constEmprtyStrListIds = new string[] { }.ToList();
            var constIntIds = default(int[]);
            var constEmptyIntIds = new int[0];
            var constIntListIds = new[] { 123, 512 }.ToList();
            var newObject = new ODataTypeEntity {
                ODataKind = new ODataKindEntity {
                    Sequence = constIntListIds
                }
            };
            var newObjectSequenceArray = new ODataTypeEntity {
                ODataKind = new ODataKindEntity {
                    SequenceArray = constIntIds
                }
            };

            var uri = odataQueryBuilder
                      .For <ODataTypeEntity>(s => s.ODataType)
                      .ByList()
                      .Filter((s, f, o) => o.In(s.ODataKind.ODataCode.Code, constStrIds) &&
                              o.In(s.ODataKind.ODataCode.Code, constEmprtyStrListIds) &&
                              o.In(s.IdType, constIntIds) &&
                              o.In(s.IdType, constEmptyIntIds) &&
                              o.In(s.IdType, constIntListIds) &&
                              o.In((int)s.IdRule, constIntIds) &&
                              o.In((int)s.IdRule, constIntListIds) &&
                              o.In(s.ODataKind.IdKind, newObject.ODataKind.Sequence) &&
                              o.In(s.ODataKind.ODataCode.IdCode, newObjectSequenceArray.ODataKind.SequenceArray))
                      .ToUri();

            uri.OriginalString.Should().Be("http://mock/odata/ODataType?$filter=IdType in (123,512) and IdRule in (123,512) and ODataKind/IdKind in (123,512)");
        }
コード例 #4
0
        public void ODataQueryBuilderList_Operator_In_is_null_4()
        {
            var constIntIds            = default(int[]);
            var newObjectSequenceArray = new ODataTypeEntity {
                ODataKind = new ODataKindEntity {
                    SequenceArray = constIntIds
                }
            };

            var odataQueryBuilderOptions = new ODataQueryBuilderOptions {
                SuppressExceptionOfNullOrEmptyOperatorArgs = false
            };
            var odataQueryBuilder = new ODataQueryBuilder <ODataInfoContainer>(
                _commonFixture.BaseUri, odataQueryBuilderOptions);

            odataQueryBuilder.Invoking(
                (r) => r
                .For <ODataTypeEntity>(s => s.ODataType)
                .ByList()
                .Filter((s, f, o) => o.In(s.ODataKind.ODataCode.IdCode, newObjectSequenceArray.ODataKind.SequenceArray))
                .ToUri())
            .Should().Throw <ArgumentException>().WithMessage("Enumeration is empty or null");
        }
コード例 #5
0
        public void ODataQueryBuilderList_Test_Contains_is_null_or_empty_value_Success()
        {
            var odataQueryBuilderOptions = new ODataQueryBuilderOptions {
                SuppressExceptionOfNullOrEmptyFunctionArgs = true
            };
            var odataQueryBuilder = new ODataQueryBuilder <ODataInfoContainer>(
                _commonFixture.BaseUri, odataQueryBuilderOptions);

            var constValue = "P";
            var newObject  = new ODataTypeEntity {
                TypeCode = string.Empty
            };
            var uri = odataQueryBuilder
                      .For <ODataTypeEntity>(s => s.ODataType)
                      .ByList()
                      .Filter((s, f) =>
                              f.Contains(f.ToLower(s.ODataKind.ODataCode.Code), null) ||
                              f.Contains(s.ODataKind.ODataCode.Code, constValue) ||
                              f.Contains(s.ODataKindNew.ODataCode.Code, newObject.TypeCode) ||
                              f.Contains(s.ODataKindNew.ODataCode.Code, string.Empty))
                      .ToUri();

            uri.OriginalString.Should().Be("http://mock/odata/ODataType?$filter=contains(ODataKind/ODataCode/Code,'P')");
        }
コード例 #6
0
 public VisitorExpression(ODataQueryBuilderOptions odataQueryBuilderOptions) =>
コード例 #7
0
 public ODataOptionNested(ODataQueryBuilderOptions odataQueryBuilderOptions)
     : base(new StringBuilder(), odataQueryBuilderOptions)
 {
 }
コード例 #8
0
 public ODataOptionKey(StringBuilder stringBuilder, ODataQueryBuilderOptions odataQueryBuilderOptions)
     : base(stringBuilder, odataQueryBuilderOptions) =>
コード例 #9
0
 public ODataQueryResource(StringBuilder stringBuilder, ODataQueryBuilderOptions odataQueryBuilderOptions)
 {
     _visitorExpression        = new VisitorExpression(odataQueryBuilderOptions);
     _odataQueryBuilderOptions = odataQueryBuilderOptions;
     _stringBuilder            = stringBuilder;
 }
コード例 #10
0
 public ODataQueryBuilder(string baseUrl, ODataQueryBuilderOptions odataQueryBuilderOptions = default)
     : base(
         new StringBuilder($"{baseUrl.TrimEnd(QuerySeparators.SlashChar)}{QuerySeparators.SlashString}"),
         odataQueryBuilderOptions ?? new ODataQueryBuilderOptions())
 {
 }
コード例 #11
0
 public ODataQueryExpandNestedResource(ODataQueryBuilderOptions odataQueryBuilderOptions)
 {
     _stringBuilder            = new StringBuilder();
     _odataQueryBuilderOptions = odataQueryBuilderOptions;
     _visitorExpression        = new VisitorExpression(_odataQueryBuilderOptions);
 }
コード例 #12
0
 public ODataQueryExpandNestedResource(ODataQueryBuilderOptions odataQueryBuilderOptions)
 {
     _stringBuilder            = new StringBuilder();
     _odataQueryBuilderOptions = odataQueryBuilderOptions;
 }
コード例 #13
0
 public ODataOptionNested(ODataQueryBuilderOptions odataQueryBuilderOptions)
     : base(new StringBuilder(), odataQueryBuilderOptions)
 {
     _visitorExpression = new VisitorExpression(odataQueryBuilderOptions);
 }
コード例 #14
0
 public ODataOptionFilterExpressionVisitor(ODataQueryBuilderOptions odataQueryBuilderOptions)
     : base()
 {
     _odataQueryBuilderOptions = odataQueryBuilderOptions;
     _valueExpression          = new ValueExpression();
 }
コード例 #15
0
 public ODataOptionList(StringBuilder stringBuilder, ODataQueryBuilderOptions odataQueryBuilderOptions)
     : base(stringBuilder, odataQueryBuilderOptions)
 {
 }
コード例 #16
0
 public ODataQueryResource(string resourse, ODataQueryBuilderOptions odataQueryBuilderOptions)
 {
     _odataQueryBuilderOptions = odataQueryBuilderOptions;
     _resourse = resourse;
 }
コード例 #17
0
 public ODataQueryBuilder(Uri baseUrl, ODataQueryBuilderOptions odataQueryBuilderOptions = default)
     : base($"{baseUrl.OriginalString.TrimEnd(QuerySeparators.Slash)}{QuerySeparators.Slash}",
            odataQueryBuilderOptions ?? new ODataQueryBuilderOptions())
 {
 }
コード例 #18
0
 public ODataOption(StringBuilder stringBuilder, ODataQueryBuilderOptions odataQueryBuilderOptions)
 {
     _stringBuilder            = stringBuilder;
     _odataQueryBuilderOptions = odataQueryBuilderOptions;
 }
コード例 #19
0
 public ODataQueryResource(string resourse, ODataQueryBuilderOptions odataQueryBuilderOptions)
 {
     _visitorExpression        = new VisitorExpression(odataQueryBuilderOptions);
     _odataQueryBuilderOptions = odataQueryBuilderOptions;
     _resourse = resourse;
 }
コード例 #20
0
 public ODataOptionFilterLambdaExpressionVisitor(ODataQueryBuilderOptions odataQueryBuilderOptions)
     : base(odataQueryBuilderOptions)
 {
 }