예제 #1
0
        public void ParseIntRange_MaxRange_Success()
        {
            var paramParser = new QueryParameterParser(2, 2);

            List <List <int> > ranges = paramParser.ParseIntRange(1, paramParser.MaxRangeLength * paramParser.MaxRanges);

            Assert.IsNotNull(ranges);
            Assert.AreEqual(paramParser.MaxRanges, ranges.Count);

            foreach (var range in ranges)
            {
                Assert.AreEqual(paramParser.MaxRangeLength, range.Count);
            }
        }
        public QueryParserBenchmarks()
        {
            IJsonApiOptions options       = new JsonApiOptions();
            IResourceGraph  resourceGraph = DependencyFactory.CreateResourceGraph(options);

            var currentRequest = new CurrentRequest();

            currentRequest.SetRequestResource(resourceGraph.GetResourceContext(typeof(BenchmarkResource)));

            IResourceDefinitionProvider resourceDefinitionProvider = DependencyFactory.CreateResourceDefinitionProvider(resourceGraph);

            _queryParameterParserForSort = CreateQueryParameterDiscoveryForSort(resourceGraph, currentRequest, resourceDefinitionProvider, options, _queryStringAccessor);
            _queryParameterParserForAll  = CreateQueryParameterDiscoveryForAll(resourceGraph, currentRequest, resourceDefinitionProvider, options, _queryStringAccessor);
        }
예제 #3
0
        public void LoadInvestorsAndLoadUsersMarkets_155_160_Success()
        {
            int startId = 155;
            int endId   = 160;

            paramParser = new QueryParameterParser(3, 2);

            sqlCommonTasks.DeleteTableData();

            RunLoadInvestorsAndLoadUsersMarkets(startId, endId);

            int investorCount;
            int industryCount;
            int investorIndustryCount;

            sqlCommonTasks.GetTableCounts(out investorCount, out industryCount, out investorIndustryCount);

            Assert.AreNotEqual(0, investorCount);
            Assert.AreNotEqual(0, industryCount);
            Assert.AreNotEqual(0, investorIndustryCount);
        }
예제 #4
0
        public void LoadInvestorsAndLoadUsersMarkets_155_MaxValue_MaxRangeLength30_MaxRanges10_Success()
        {
            int startId = 155;
            int endId   = Int32.MaxValue;

            paramParser = new QueryParameterParser(30, 10);

            sqlCommonTasks.DeleteTableData();

            RunLoadInvestorsAndLoadUsersMarkets(startId, endId);

            int investorCount;
            int industryCount;
            int investorIndustryCount;

            sqlCommonTasks.GetTableCounts(out investorCount, out industryCount, out investorIndustryCount);

            Assert.AreNotEqual(0, investorCount);
            Assert.AreNotEqual(0, industryCount);
            Assert.AreNotEqual(0, investorIndustryCount);
        }
예제 #5
0
        public void RestrictIntRange_Success()
        {
            var paramParser = new QueryParameterParser(2, 2);

            int end = paramParser.RestrictIntRange(1, 1);

            Assert.AreEqual(1, end);

            end = paramParser.RestrictIntRange(1, Int32.MaxValue);
            Assert.AreEqual(4, end);

            end = paramParser.RestrictIntRange(1, paramParser.MaxRangeLength);
            Assert.AreEqual(2, end);

            end = paramParser.RestrictIntRange(1, paramParser.MaxRangeLength + 1);
            Assert.AreEqual(paramParser.MaxRangeLength + 1, end);

            end = paramParser.RestrictIntRange(1, paramParser.MaxRangeLength * paramParser.MaxRanges);
            Assert.AreEqual(paramParser.MaxRangeLength * paramParser.MaxRanges, end);

            end = paramParser.RestrictIntRange(1, paramParser.MaxRangeLength * paramParser.MaxRanges + 1);
            Assert.AreEqual(paramParser.MaxRangeLength * paramParser.MaxRanges, end);
        }
예제 #6
0
        public void ParseIntRange_MaxRangesExceed_Exception()
        {
            var paramParser = new QueryParameterParser(2, 2);

            List <List <int> > ranges = paramParser.ParseIntRange(1, 1 + paramParser.MaxRangeLength * paramParser.MaxRanges);
        }