コード例 #1
0
        /// <summary>
        /// Returns the <see cref="SchemaShape"/> of the schema which will be produced by the transformer.
        /// Used for schema propagation and verification in a pipeline.
        /// </summary>
        public override SchemaShape GetOutputSchema(SchemaShape inputSchema)
        {
            Host.CheckValue(inputSchema, nameof(inputSchema));
            var fakeSchema = FakeSchemaFactory.Create(inputSchema);

            return(SchemaShape.Create(Transformer.GetOutputSchema(fakeSchema)));
        }
コード例 #2
0
        public SchemaShape GetOutputSchema(SchemaShape inputSchema)
        {
            Host.CheckValue(inputSchema, nameof(inputSchema));

            var fakeSchema  = FakeSchemaFactory.Create(inputSchema);
            var transformer = Fit(new EmptyDataView(Host, fakeSchema));

            return(SchemaShape.Create(transformer.GetOutputSchema(fakeSchema)));
        }
コード例 #3
0
ファイル: SqlDataTargetFacts.cs プロジェクト: jsnape/ditto
        public void CreatingTableCausesSqlToBeExecuted()
        {
            using (var schema = FakeSchemaFactory.CreateDefaultTableSchema())
            {
                this.nonWatermarkTarget.CreateTable(schema);

                Assert.Contains(TargetTableName, this.Command.CommandText, StringComparison.OrdinalIgnoreCase);
            }
        }
コード例 #4
0
ファイル: SqlDataTargetFacts.cs プロジェクト: jsnape/ditto
        public void ColumnsPropertyShouldReturnCorrectColumnCount()
        {
            using (var schema = FakeSchemaFactory.CreateDefaultTableSchema())
            {
                this.Reader.GetSchemaTable().ReturnsForAnyArgs(schema);

                Assert.Equal(schema.Rows.Count, this.nonWatermarkTarget.Columns.Count());
            }
        }
コード例 #5
0
        void SimpleTest()
        {
            var metadataBuilder = new DataViewSchema.Annotations.Builder();

            metadataBuilder.Add("M", NumberDataViewType.Single, (ref float v) => v = 484f);
            var schemaBuilder = new DataViewSchema.Builder();

            schemaBuilder.AddColumn("A", new VectorDataViewType(NumberDataViewType.Single, 94));
            schemaBuilder.AddColumn("B", new KeyDataViewType(typeof(uint), 17));
            schemaBuilder.AddColumn("C", NumberDataViewType.Int32, metadataBuilder.ToAnnotations());

            var shape = SchemaShape.Create(schemaBuilder.ToSchema());

            var fakeSchema = FakeSchemaFactory.Create(shape);

            var columnA = fakeSchema[0];
            var columnB = fakeSchema[1];
            var columnC = fakeSchema[2];

            Assert.Equal("A", columnA.Name);
            Assert.Equal(NumberDataViewType.Single, columnA.Type.GetItemType());
            Assert.Equal(10, columnA.Type.GetValueCount());

            Assert.Equal("B", columnB.Name);
            Assert.Equal(InternalDataKind.U4, columnB.Type.GetRawKind());
            Assert.Equal(10u, columnB.Type.GetKeyCount());

            Assert.Equal("C", columnC.Name);
            Assert.Equal(NumberDataViewType.Int32, columnC.Type);

            var metaC = columnC.Annotations;

            Assert.Single(metaC.Schema);

            float mValue = -1;

            metaC.GetValue("M", ref mValue);
            Assert.Equal(default, mValue);
コード例 #6
0
        void SimpleTest()
        {
            var metadataBuilder = new MetadataBuilder();

            metadataBuilder.Add("M", NumberType.R4, (ref float v) => v = 484f);
            var schemaBuilder = new SchemaBuilder();

            schemaBuilder.AddColumn("A", new VectorType(NumberType.R4, 94));
            schemaBuilder.AddColumn("B", new KeyType(typeof(uint), 17));
            schemaBuilder.AddColumn("C", NumberType.I4, metadataBuilder.GetMetadata());

            var shape = SchemaShape.Create(schemaBuilder.GetSchema());

            var fakeSchema = FakeSchemaFactory.Create(shape);

            var columnA = fakeSchema[0];
            var columnB = fakeSchema[1];
            var columnC = fakeSchema[2];

            Assert.Equal("A", columnA.Name);
            Assert.Equal(NumberType.R4, columnA.Type.GetItemType());
            Assert.Equal(10, columnA.Type.GetValueCount());

            Assert.Equal("B", columnB.Name);
            Assert.Equal(DataKind.U4, columnB.Type.GetRawKind());
            Assert.Equal(10u, columnB.Type.GetKeyCount());

            Assert.Equal("C", columnC.Name);
            Assert.Equal(NumberType.I4, columnC.Type);

            var metaC = columnC.Metadata;

            Assert.Single(metaC.Schema);

            float mValue = -1;

            metaC.GetValue("M", ref mValue);
            Assert.Equal(default, mValue);
コード例 #7
0
ファイル: QueryDataSourceFacts.cs プロジェクト: jsnape/ditto
 /// <summary>
 /// Initializes a new instance of the <see cref="QueryDataSourceFacts"/> class.
 /// </summary>
 public QueryDataSourceFacts()
 {
     this.schema = FakeSchemaFactory.CreateDefaultTableSchema();
     this.target = new QueryDataSource(this.ConnectionFactory, "wibble", QuerySql, this.schema);
 }