Example #1
0
        public void Matches_SqlQueryAndMembers_Succesful()
        {
            var sql = "select " +
                      "'Executive General and Administration' union select " +
                      "'Inventory Management' union select " +
                      "'Manufacturing' union select " +
                      "'Research and Development' union select " +
                      "'Quality Assurance' union select " +
                      "'Sales and Marketing' ";
            var args     = new QueryResultSetResolverArgs(new QueryResolverArgs(sql, ConnectionStringReader.GetSqlClient(), null, null, new TimeSpan(0, 0, 30), System.Data.CommandType.Text));
            var factory  = new ResultSetResolverFactory(new ServiceLocator());
            var resolver = factory.Instantiate(args);

            var discovery = new DiscoveryRequestFactory().Build(
                ConnectionStringReader.GetAdomd()
                , "Corporate"
                , "Adventure Works"
                , "Department"
                , "Departments"
                , null);

            var ctr = new EquivalentToConstraint(resolver);

            Assert.That(discovery, ctr);
        }
Example #2
0
        protected ResultSet GetResultSet(IQuery query)
        {
            var argsQuery = new QueryResolverArgs(query.Statement, query.ConnectionString, query.Parameters, query.TemplateTokens, query.Timeout, query.CommandType);
            var args      = new QueryResultSetResolverArgs(argsQuery);
            var factory   = new ResultSetResolverFactory(null);
            var resolver  = factory.Instantiate(args);

            return(resolver.Execute());
        }
Example #3
0
        public T Execute()
        {
            var factory   = new ResultSetResolverFactory();
            var resolver  = factory.Instantiate(args.ResultSetArgs);
            var resultSet = resolver.Execute();

            var projectionResult = args.Projection(resultSet);

            return((T)Convert.ChangeType(projectionResult, typeof(T)));
        }
Example #4
0
        protected ResultSet GetResultSet(Object obj)
        {
            if (!(obj is IDbCommand))
            {
                throw new ArgumentException();
            }

            var args     = new QueryResultSetResolverArgs(new DbCommandQueryResolverArgs((IDbCommand)obj));
            var factory  = new ResultSetResolverFactory();
            var resolver = factory.Instantiate(args);

            return(resolver.Execute());
        }
Example #5
0
        protected virtual IResultSetResolver InstantiateResolver(ResultSetSystemXml resultSetXml)
        {
            var argsBuilder = new ResultSetResolverArgsBuilder();

            argsBuilder.Setup(resultSetXml);
            argsBuilder.Setup(resultSetXml.Settings);
            argsBuilder.Setup(base.Variables);
            argsBuilder.Build();

            var factory  = new ResultSetResolverFactory();
            var resolver = factory.Instantiate(argsBuilder.GetArgs());

            return(resolver);
        }
Example #6
0
        public void Instantiate_OneSequence_CorrectType()
        {
            var sequenceResolver = new ListSequenceResolver <DateTime>(
                new ListSequenceResolverArgs(new[] {
                new LiteralScalarResolver <string>("2015-01-01"),
                new LiteralScalarResolver <string>("2016-01-01"),
                new LiteralScalarResolver <string>("2017-01-01"),
            })
                );

            var args     = new SequenceCombinationResultSetResolverArgs(new[] { sequenceResolver });
            var factory  = new ResultSetResolverFactory(new ServiceLocator());
            var resolver = factory.Instantiate(args);

            Assert.That(resolver, Is.TypeOf <SequenceCombinationResultSetResolver>());
        }
Example #7
0
        protected virtual IResultSetService InstantiateSystemUnderTest(ExecutionXml executionXml)
        {
            var commandBuilder = new CommandBuilder();

            var connectionString = executionXml.Item.GetConnectionString();
            var commandText      = (executionXml.Item as QueryableXml).GetQuery();

            IEnumerable <IQueryParameter>        parameters = null;
            IEnumerable <IQueryTemplateVariable> variables  = null;
            int timeout = 0;

            if (executionXml.BaseItem is QueryXml)
            {
                var paramBuilder = new QueryResolverArgsBuilder();
                parameters = paramBuilder.BuildParameters(((QueryXml)executionXml.BaseItem).GetParameters());
                variables  = ((QueryXml)executionXml.BaseItem).GetVariables();
                timeout    = ((QueryXml)executionXml.BaseItem).Timeout;
            }
            if (executionXml.BaseItem is ReportXml)
            {
                var paramBuilder = new QueryResolverArgsBuilder();
                parameters = paramBuilder.BuildParameters(((ReportXml)executionXml.BaseItem).GetParameters());
            }
            var cmd = commandBuilder.Build(connectionString, commandText, parameters, variables, timeout);

            if (executionXml.BaseItem is ReportXml)
            {
                cmd.CommandType = ((ReportXml)executionXml.BaseItem).GetCommandType();
            }

            var args     = new QueryResultSetResolverArgs(new DbCommandQueryResolverArgs(cmd));
            var factory  = new ResultSetResolverFactory();
            var resolver = factory.Instantiate(args);

            var builder = new ResultSetServiceBuilder();

            builder.Setup(resolver);
            var service = builder.GetService();

            return(service);
        }
        protected override BaseResultSetComparisonConstraint InstantiateConstraint(object obj, SettingsXml settings, TransformationProvider transformation)
        {
            var argsBuilder = new ResultSetResolverArgsBuilder();

            argsBuilder.Setup(obj);
            argsBuilder.Build();

            var factory  = new ResultSetResolverFactory();
            var resolver = factory.Instantiate(argsBuilder.GetArgs());

            var builder = new ResultSetServiceBuilder();

            builder.Setup(resolver);
            if (transformation != null)
            {
                builder.Setup(transformation.Transform);
            }
            var service = builder.GetService();

            return(new SupersetOfConstraint(service));
        }
        protected IEnumerable <string> GetMembersFromResultSet(Object obj)
        {
            if (!(obj is IDbCommand))
            {
                throw new ArgumentException();
            }

            var args     = new QueryResultSetResolverArgs(new DbCommandQueryResolverArgs((IDbCommand)obj));
            var factory  = new ResultSetResolverFactory();
            var resolver = factory.Instantiate(args);
            var rs       = resolver.Execute();

            var members = new List <string>();

            foreach (DataRow row in rs.Rows)
            {
                members.Add(row.ItemArray[0].ToString());
            }

            return(members);
        }
Example #10
0
 public ProjectionResultSetScalarResolver(ProjectionResultSetScalarResolverArgs args, ResultSetResolverFactory factory)
 {
     this.args    = args;
     this.factory = factory;
 }