public void Should_be_able_to_rename_a_mapped_column() { var column1Guid = new MappedColumn <string>("column-1", DbType.Guid); var column2Guid = column1Guid.Rename("column-2"); Assert.AreEqual("column-1", column1Guid.ColumnName); Assert.AreEqual(DbType.Guid, column1Guid.DbType); Assert.AreEqual("column-2", column2Guid.ColumnName); Assert.AreEqual(DbType.Guid, column2Guid.DbType); var column1String = new MappedColumn <string>("column-1", DbType.AnsiString, 65); var column2String = column1String.Rename("column-2"); Assert.AreEqual("column-1", column1String.ColumnName); Assert.AreEqual(DbType.AnsiString, column1String.DbType); Assert.AreEqual(65, column1String.Size); Assert.AreEqual("column-2", column2String.ColumnName); Assert.AreEqual(DbType.AnsiString, column2String.DbType); Assert.AreEqual(65, column2String.Size); var column1Double = new MappedColumn <string>("column-1", DbType.Double, 10, 2); var column2Double = column1Double.Rename("column-2"); Assert.AreEqual("column-1", column1Double.ColumnName); Assert.AreEqual(DbType.Double, column1Double.DbType); Assert.AreEqual((byte)10, column1Double.Precision); Assert.AreEqual((byte)2, column1Double.Scale); Assert.AreEqual("column-2", column2Double.ColumnName); Assert.AreEqual(DbType.Double, column2Double.DbType); Assert.AreEqual((byte)10, column2Double.Precision); Assert.AreEqual((byte)2, column2Double.Scale); }
public ContainsTableProvider(FullTextIndexInfo index, Func <ParameterContext, string> searchCriteria, string rankColumnName, IList <ColumnInfo> targetColumns, Func <ParameterContext, int> topNByRank, bool fullFeatured) : base(ProviderType.ContainsTable) { SearchCriteria = searchCriteria; FullFeatured = fullFeatured; PrimaryIndex = new IndexInfoRef(index.PrimaryIndex); TargetColumns = new ReadOnlyList <FullTextColumnInfo>(targetColumns.Select(tc => index.Columns.First(c => c.Column == tc)).ToList()); TopN = topNByRank; if (FullFeatured) { var primaryIndexRecordsetHeader = index.PrimaryIndex.ReflectedType.Indexes.PrimaryIndex.GetRecordSetHeader(); var rankColumn = new MappedColumn(rankColumnName, primaryIndexRecordsetHeader.Length, WellKnownTypes.Double); indexHeader = primaryIndexRecordsetHeader.Add(rankColumn); } else { var primaryIndexKeyColumns = index.PrimaryIndex.KeyColumns; if (primaryIndexKeyColumns.Count != 1) { throw new InvalidOperationException(Strings.ExOnlySingleColumnKeySupported); } var fieldTypes = primaryIndexKeyColumns .Select(columnInfo => columnInfo.Key.ValueType) .Append(WellKnownTypes.Double) .ToArray(primaryIndexKeyColumns.Count + 1); var tupleDescriptor = TupleDescriptor.Create(fieldTypes); var columns = primaryIndexKeyColumns .Select((c, i) => (Column) new MappedColumn("KEY", i, c.Key.ValueType)) .Append(new MappedColumn("RANK", tupleDescriptor.Count, WellKnownTypes.Double)); indexHeader = new RecordSetHeader(tupleDescriptor, columns); } Initialize(); }
public void Should_be_able_prepare_a_query() { const string sql = "select @Id"; var guid = Guid.NewGuid(); var mc = new MappedColumn<Guid>("Id", DbType.Guid); var query = new RawQuery(sql).AddParameterValue(mc, guid); var dataParameterCollection = new Mock<IDataParameterCollection>(); var dataParameterFactory = new Mock<IDbDataParameterFactory>(); dataParameterFactory.Setup(m => m.Create("@Id", DbType.Guid, guid)); var dataSource = new DataSource("data-source", dataParameterFactory.Object); var command = new Mock<IDbCommand>(); dataParameterCollection.Setup(m => m.Add(It.IsAny<IDbDataParameter>())).Verifiable(); command.SetupGet(m => m.Parameters).Returns(dataParameterCollection.Object); command.SetupSet(m => m.CommandText = sql).Verifiable(); command.SetupSet(m => m.CommandType = CommandType.Text).Verifiable(); query.Prepare(dataSource, command.Object); command.VerifyAll(); dataParameterFactory.VerifyAll(); }
public void Should_be_able_to_create_mapped_columns() { const string columnName = "name"; var mcGuid = new MappedColumn<Guid>(columnName, DbType.Guid); Assert.AreEqual(columnName, mcGuid.ColumnName); Assert.AreEqual(DbType.Guid, mcGuid.DbType); Assert.IsNull(mcGuid.Size); Assert.IsNull(mcGuid.Precision); Assert.IsNull(mcGuid.Scale); var mcString = new MappedColumn<string>(columnName, DbType.AnsiString, 65); Assert.AreEqual(columnName, mcString.ColumnName); Assert.AreEqual(DbType.AnsiString, mcString.DbType); Assert.AreEqual(65, mcString.Size); Assert.IsNull(mcString.Precision); Assert.IsNull(mcString.Scale); var mcDouble = new MappedColumn<decimal>(columnName, DbType.Decimal, 10, 2); Assert.AreEqual(columnName, mcDouble.ColumnName); Assert.AreEqual(DbType.Decimal, mcDouble.DbType); Assert.IsNull(mcDouble.Size); Assert.AreEqual((byte)10, mcDouble.Precision); Assert.AreEqual((byte)2, mcDouble.Scale); }
public FreeTextProvider(FullTextIndexInfo index, Func <string> searchCriteria, string rankColumnName, Func <int> topN, bool fullFeatured) : base(ProviderType.FreeText) { SearchCriteria = searchCriteria; FullFeatured = fullFeatured; TopN = topN; PrimaryIndex = new IndexInfoRef(index.PrimaryIndex); if (FullFeatured) { var primaryIndexRecordsetHeader = index.PrimaryIndex.ReflectedType.Indexes.PrimaryIndex.GetRecordSetHeader(); var rankColumn = new MappedColumn(rankColumnName, primaryIndexRecordsetHeader.Length, typeof(double)); indexHeader = primaryIndexRecordsetHeader.Add(rankColumn); } else { var primaryIndexKeyColumns = index.PrimaryIndex.KeyColumns; if (primaryIndexKeyColumns.Count != 1) { throw new InvalidOperationException(Strings.ExOnlySingleColumnKeySupported); } var fieldTypes = primaryIndexKeyColumns .Select(columnInfo => columnInfo.Key.ValueType) .AddOne(typeof(double)) .ToArray(primaryIndexKeyColumns.Count + 1); var tupleDescriptor = TupleDescriptor.Create(fieldTypes); var columns = primaryIndexKeyColumns .Select((c, i) => (Column) new MappedColumn("KEY", i, c.Key.ValueType)) .AddOne(new MappedColumn("RANK", tupleDescriptor.Count, typeof(double))); indexHeader = new RecordSetHeader(tupleDescriptor, columns); } Initialize(); }
public void Should_be_able_to_create_mapped_columns() { const string columnName = "name"; var mcGuid = new MappedColumn <Guid>(columnName, DbType.Guid); Assert.AreEqual(columnName, mcGuid.ColumnName); Assert.AreEqual(DbType.Guid, mcGuid.DbType); Assert.IsNull(mcGuid.Size); Assert.IsNull(mcGuid.Precision); Assert.IsNull(mcGuid.Scale); var mcString = new MappedColumn <string>(columnName, DbType.AnsiString, 65); Assert.AreEqual(columnName, mcString.ColumnName); Assert.AreEqual(DbType.AnsiString, mcString.DbType); Assert.AreEqual(65, mcString.Size); Assert.IsNull(mcString.Precision); Assert.IsNull(mcString.Scale); var mcDouble = new MappedColumn <decimal>(columnName, DbType.Decimal, 10, 2); Assert.AreEqual(columnName, mcDouble.ColumnName); Assert.AreEqual(DbType.Decimal, mcDouble.DbType); Assert.IsNull(mcDouble.Size); Assert.AreEqual((byte)10, mcDouble.Precision); Assert.AreEqual((byte)2, mcDouble.Scale); }
public void Should_be_able_to_implicitly_convert_to_string() { var mc = new MappedColumn <string>("column-1", DbType.AnsiString, 65); string name = mc; Assert.AreEqual("column-1", name); }
public void The_Change_Is_Reflected_In_Its_MappedColumns() { var table1 = new Table("Table1"); table1.AddColumn(new Column("Column1")); table1.AddColumn(new Column("Column2")); var table2 = new Table("Table2"); table2.AddColumn(new Column("Column1")); table2.AddColumn(new Column("Column2")); var key1 = new Key("PrimaryKey") { Keytype = DatabaseKeyType.Primary }; table1.AddKey(key1); key1.AddColumn("Column1"); var key2 = new Key("ForeignKey") { Keytype = DatabaseKeyType.Foreign }; table2.AddKey(key2); key2.AddColumn("Column1"); var relationship = new RelationshipImpl(); relationship.PrimaryTable = table1; relationship.ForeignTable = table2; relationship.PrimaryKey = key1; relationship.ForeignKey = key2; Assert.That(relationship.MappedColumns.Count(), Is.EqualTo(1)); MappedColumn mappedColumn = relationship.MappedColumns.ElementAt(0); Assert.That(mappedColumn.Source, Is.SameAs(table1.Columns[0])); Assert.That(mappedColumn.Target, Is.SameAs(table2.Columns[0])); key1.AddColumn("Column2"); key2.AddColumn("Column2"); Assert.That(relationship.MappedColumns.Count(), Is.EqualTo(2), "The new column was not added."); mappedColumn = relationship.MappedColumns.ElementAt(0); Assert.That(mappedColumn.Source, Is.SameAs(table1.Columns[0]), "The source column is wrong on item 0"); Assert.That(mappedColumn.Target, Is.SameAs(table2.Columns[0]), "The target column is wrong on item 0"); mappedColumn = relationship.MappedColumns.ElementAt(1); Assert.That(mappedColumn.Source, Is.SameAs(table1.Columns[1]), "The source column is wrong on item 1"); Assert.That(mappedColumn.Target, Is.SameAs(table2.Columns[1]), "The target column is wrong on item 1"); }
public override string ToString() { return(string.Format("{0} {1} ({2}, {3}) [original: {4} ({5}, {6})]", Message, MappedFilePath ?? "", MappedLine.ToString(), MappedColumn.ToString(), OriginalFilePath ?? "", OriginalLine.ToString(), OriginalColumn.ToString())); }
public override string ToString() { return(string.Format("{0} {1} {2} {3} {4} {5} ({5}, {6}) [original: {7} ({8}, {9})]", Id, Message, Severity.ToString(), ProjectId, MappedFilePath ?? "", MappedLine.ToString(), MappedColumn.ToString(), OriginalFilePath ?? "", OriginalLine.ToString(), OriginalColumn.ToString())); }
public void Should_be_able_to_determine_if_column_value_is_null() { var table = new DataTable(); table.Columns.Add("column-1", typeof(string)); var row = table.Rows.Add(DBNull.Value); var mc = new MappedColumn <string>("column-1", DbType.AnsiString, 65); Assert.IsTrue(mc.IsNullFor(row)); row["column-1"] = "value-1"; Assert.IsFalse(mc.IsNullFor(row)); }
public void Should_be_able_to_map_from_a_data_record() { var record = new SqlDataRecord(new[] { new SqlMetaData("column-1", SqlDbType.VarChar, 65) }); record.SetSqlString(0, new SqlString(null)); var column1 = new MappedColumn <string>("column-1", DbType.AnsiString, 65); var column2 = new MappedColumn <string>("column-2", DbType.AnsiString, 65); Assert.AreEqual(default(string), column1.MapFrom(record)); Assert.AreEqual(default(string), column2.MapFrom(record)); record.SetSqlString(0, new SqlString("value-1")); Assert.AreEqual("value-1", column1.MapFrom(record)); Assert.AreEqual(default(string), column2.MapFrom(record)); }
public void Should_be_able_to_map_from_a_data_row() { var table = new DataTable(); table.Columns.Add("column-1", typeof(string)); var row = table.Rows.Add(DBNull.Value); var mc = new MappedColumn <string>("column-1", DbType.AnsiString, 65); var missing = new MappedColumn <string>("missing", DbType.AnsiString, 65); Assert.AreEqual(default(string), mc.MapFrom(row)); Assert.AreEqual(default(string), missing.MapFrom(row)); Assert.AreEqual(DBNull.Value, mc.RetrieveRawValueFrom(row)); row["column-1"] = "value-1"; Assert.AreEqual("value-1", mc.MapFrom(row)); Assert.AreEqual(default(string), missing.MapFrom(row)); Assert.AreEqual("value-1", mc.RetrieveRawValueFrom(row)); }
public void Should_be_able_to_create_data_parameters() { const string columnName = "name"; var parameter = new Mock<IDbDataParameter>(); var mcGuid = new MappedColumn<Guid>(columnName, DbType.Guid); var guid = Guid.NewGuid(); var factory = new Mock<IDbDataParameterFactory>(); factory.Setup(m => m.Create(It.IsAny<string>(), It.IsAny<DbType>(), guid)).Returns(parameter.Object); var result = mcGuid.CreateDataParameter(factory.Object, guid); factory.VerifyAll(); Assert.AreSame(result, parameter.Object); var mcString = new MappedColumn<string>(columnName, DbType.AnsiString, 65); factory = new Mock<IDbDataParameterFactory>(); factory.Setup(m => m.Create(It.IsAny<string>(), It.IsAny<DbType>(), 65, "a-string")).Returns(parameter.Object); result = mcString.CreateDataParameter(factory.Object, "a-string"); factory.VerifyAll(); Assert.AreSame(result, parameter.Object); var mcDouble = new MappedColumn<decimal>(columnName, DbType.Decimal, 10, 2); factory = new Mock<IDbDataParameterFactory>(); factory.Setup(m => m.Create(It.IsAny<string>(), It.IsAny<DbType>(), 10, 2, 150.15d)).Returns(parameter.Object); result = mcDouble.CreateDataParameter(factory.Object, 150.15d); factory.VerifyAll(); Assert.AreSame(result, parameter.Object); }
public void Should_be_able_prepare_a_query() { const string sql = "uspDoSomething"; var guid = Guid.NewGuid(); var mc = new MappedColumn <Guid>("Id", DbType.Guid); var query = new ProcedureQuery(sql).AddParameterValue(mc, guid); var dataParameterCollection = new Mock <IDataParameterCollection>(); var command = new Mock <IDbCommand>(); dataParameterCollection.Setup(m => m.Add(It.IsAny <IDbDataParameter>())).Verifiable(); command.SetupGet(m => m.Parameters).Returns(dataParameterCollection.Object); command.SetupSet(m => m.CommandText = sql).Verifiable(); command.SetupSet(m => m.CommandType = CommandType.StoredProcedure).Verifiable(); command.Setup(m => m.CreateParameter()).Returns(new SqlParameter()); query.Prepare(command.Object); command.VerifyAll(); }
public void Should_be_able_to_create_data_parameters() { const string columnName = "name"; var parameter = new Mock <IDbDataParameter>(); var mcGuid = new MappedColumn <Guid>(columnName, DbType.Guid); var guid = Guid.NewGuid(); var factory = new Mock <IDbCommand>(); factory.Setup(m => m.CreateParameter()).Returns(parameter.Object); var result = mcGuid.CreateDataParameter(factory.Object, guid); factory.VerifyAll(); Assert.AreSame(result, parameter.Object); var mcString = new MappedColumn <string>(columnName, DbType.AnsiString, 65); factory = new Mock <IDbCommand>(); factory.Setup(m => m.CreateParameter()).Returns(parameter.Object); result = mcString.CreateDataParameter(factory.Object, "a-string"); factory.VerifyAll(); Assert.AreSame(result, parameter.Object); var mcDouble = new MappedColumn <decimal>(columnName, DbType.Decimal, 10, 2); factory = new Mock <IDbCommand>(); factory.Setup(m => m.CreateParameter()).Returns(parameter.Object); result = mcDouble.CreateDataParameter(factory.Object, 150.15d); factory.VerifyAll(); Assert.AreSame(result, parameter.Object); }
internal Select AddColumn(MappedColumn mappedColumn) { _mappedColumns.Add(mappedColumn); return this; }
public void Should_be_able_to_implicitly_convert_to_string() { var mc = new MappedColumn<string>("column-1", DbType.AnsiString, 65); string name = mc; Assert.AreEqual("column-1", name); }
public void Should_be_able_to_map_from_a_data_record() { var record = new SqlDataRecord(new[] { new SqlMetaData("column-1", SqlDbType.VarChar, 65) }); record.SetSqlString(0, new SqlString(null)); var column1 = new MappedColumn<string>("column-1", DbType.AnsiString, 65); var column2 = new MappedColumn<string>("column-2", DbType.AnsiString, 65); Assert.AreEqual(default(string), column1.MapFrom(record)); Assert.AreEqual(default(string), column2.MapFrom(record)); record.SetSqlString(0, new SqlString("value-1")); Assert.AreEqual("value-1", column1.MapFrom(record)); Assert.AreEqual(default(string), column2.MapFrom(record)); }
public override string ToString() => $"{Priority} {Message} {MappedFilePath ?? ""} ({MappedLine.ToString()}, {MappedColumn.ToString()}) [original: {OriginalFilePath ?? ""} ({OriginalLine.ToString()}, {OriginalColumn.ToString()})";
public void Should_be_able_to_map_from_a_data_row() { var table = new DataTable(); table.Columns.Add("column-1", typeof(string)); var row = table.Rows.Add(DBNull.Value); var mc = new MappedColumn<string>("column-1", DbType.AnsiString, 65); var missing = new MappedColumn<string>("missing", DbType.AnsiString, 65); Assert.AreEqual(default(string), mc.MapFrom(row)); Assert.AreEqual(default(string), missing.MapFrom(row)); Assert.AreEqual(DBNull.Value, mc.RetrieveRawValueFrom(row)); row["column-1"] = "value-1"; Assert.AreEqual("value-1", mc.MapFrom(row)); Assert.AreEqual(default(string), missing.MapFrom(row)); Assert.AreEqual("value-1", mc.RetrieveRawValueFrom(row)); }
public void Should_be_able_to_rename_a_mapped_column() { var column1Guid = new MappedColumn<string>("column-1", DbType.Guid); var column2Guid = column1Guid.Rename("column-2"); Assert.AreEqual("column-1", column1Guid.ColumnName); Assert.AreEqual(DbType.Guid, column1Guid.DbType); Assert.AreEqual("column-2", column2Guid.ColumnName); Assert.AreEqual(DbType.Guid, column2Guid.DbType); var column1String = new MappedColumn<string>("column-1", DbType.AnsiString, 65); var column2String = column1String.Rename("column-2"); Assert.AreEqual("column-1", column1String.ColumnName); Assert.AreEqual(DbType.AnsiString, column1String.DbType); Assert.AreEqual(65, column1String.Size); Assert.AreEqual("column-2", column2String.ColumnName); Assert.AreEqual(DbType.AnsiString, column2String.DbType); Assert.AreEqual(65, column2String.Size); var column1Double = new MappedColumn<string>("column-1", DbType.Double, 10, 2); var column2Double = column1Double.Rename("column-2"); Assert.AreEqual("column-1", column1Double.ColumnName); Assert.AreEqual(DbType.Double, column1Double.DbType); Assert.AreEqual((byte)10, column1Double.Precision); Assert.AreEqual((byte)2, column1Double.Scale); Assert.AreEqual("column-2", column2Double.ColumnName); Assert.AreEqual(DbType.Double, column2Double.DbType); Assert.AreEqual((byte)10, column2Double.Precision); Assert.AreEqual((byte)2, column2Double.Scale); }
public void Should_be_able_to_determine_if_column_value_is_null() { var table = new DataTable(); table.Columns.Add("column-1", typeof(string)); var row = table.Rows.Add(DBNull.Value); var mc = new MappedColumn<string>("column-1", DbType.AnsiString, 65); Assert.IsTrue(mc.IsNullFor(row)); row["column-1"] = "value-1"; Assert.IsFalse(mc.IsNullFor(row)); }