예제 #1
0
        public FilterTableTests()
        {
            var leftInfo = new TableInfo(ObjectName.Parse("tab1"));

            leftInfo.Columns.Add(new ColumnInfo("a", PrimitiveTypes.Integer()));
            leftInfo.Columns.Add(new ColumnInfo("b", PrimitiveTypes.Boolean()));
            left = new TemporaryTable(leftInfo);

            left.AddRow(new[] { SqlObject.Integer(23), SqlObject.Boolean(true) });
            left.AddRow(new[] { SqlObject.Integer(54), SqlObject.Boolean(null) });

            left.BuildIndex();
        }
예제 #2
0
        public FunctionTableTests()
        {
            var leftInfo = new TableInfo(ObjectName.Parse("tab1"));

            leftInfo.Columns.Add(new ColumnInfo("a", PrimitiveTypes.Integer()));
            leftInfo.Columns.Add(new ColumnInfo("b", PrimitiveTypes.Boolean()));

            left = new TemporaryTable(leftInfo);

            left.AddRow(new[] { SqlObject.Integer(23), SqlObject.Boolean(true) });
            left.AddRow(new[] { SqlObject.Integer(54), SqlObject.Boolean(null) });

            left.BuildIndex();

            var scope = new ServiceContainer();

            var mock = new Mock <IContext>();

            mock.SetupGet(x => x.Scope)
            .Returns(scope);
            mock.Setup(x => x.Dispose())
            .Callback(scope.Dispose);

            context = mock.Object;

            var group = new List <SqlObject> {
                SqlObject.Integer(33),
                SqlObject.Integer(22),
                SqlObject.Integer(1)
            };

            var refResolver = new Mock <IReferenceResolver>();

            refResolver.Setup(x => x.ResolveType(It.IsAny <ObjectName>()))
            .Returns <ObjectName>(name => PrimitiveTypes.Integer());
            refResolver.Setup(x => x.ResolveReferenceAsync(It.IsAny <ObjectName>()))
            .Returns <ObjectName>(name => Task.FromResult(group[0]));

            var resolverMock = new Mock <IGroupResolver>();

            resolverMock.SetupGet(x => x.Size)
            .Returns(group.Count);
            resolverMock.Setup(x => x.ResolveReferenceAsync(It.IsAny <ObjectName>(), It.IsAny <long>()))
            .Returns <ObjectName, long>((name, index) => Task.FromResult(group[(int)index]));
            resolverMock.Setup(x => x.GetResolver(It.IsAny <long>()))
            .Returns(refResolver.Object);

            // scope.AddMethodRegistry<SystemFunctionProvider>();
            scope.RegisterInstance <IGroupResolver>(resolverMock.Object);
        }
예제 #3
0
        public LimitedTableTests()
        {
            var leftInfo = new TableInfo(ObjectName.Parse("tab1"));

            leftInfo.Columns.Add(new ColumnInfo("a", PrimitiveTypes.Integer()));
            leftInfo.Columns.Add(new ColumnInfo("b", PrimitiveTypes.Boolean()));
            leftInfo.Columns.Add(new ColumnInfo("c", PrimitiveTypes.Double()));

            var temp = new TemporaryTable(leftInfo);

            temp.AddRow(new[] { SqlObject.Integer(23), SqlObject.Boolean(true), SqlObject.Double(5563.22) });
            temp.AddRow(new[] { SqlObject.Integer(54), SqlObject.Boolean(null), SqlObject.Double(921.001) });
            temp.AddRow(new[] { SqlObject.Integer(23), SqlObject.Boolean(true), SqlObject.Double(2010.221) });
            temp.BuildIndex();

            left = temp;
        }