public void ToString_WithJoinTable() { var schema = "fromSchema"; var name = "fromTable"; var tableName = new EntityName(schema, name); var fromColumn1 = "fromCol1"; var fromColumn2 = "fromCol2"; var fromAlias2 = "fromAlias2"; var columns = new IItemName[] { new ItemName(fromColumn1), new ColumnName(fromColumn2, fromAlias2) }; var fromTable = new FromTable(tableName, columns); IEntityName joinTableName = new EntityName("joinTable"); IItemName[] selectColumns = new IItemName[2] { new ItemName("joinTblCol1"), new ItemName("joinTblCol2") }; var joinTable = new JoinTable(joinTableName, selectColumns); fromTable.Join(joinTable); var selectClause = fromTable.GetSelectClause(); var testString = $"[{schema}].[{name}].[{fromColumn1}], [{schema}].[{name}].[{fromColumn2}] as [{fromAlias2}], {joinTableName}.{selectColumns[0]}, {joinTableName}.{selectColumns[1]}"; Assert.AreEqual(testString, selectClause); }
public void Constructor_NullTableNameArgument() { IItemName[] selectColumns = new IItemName[1] { new ColumnName("name", "alias") }; var table = new FromTable(null, selectColumns); }
public void Constructor_NullTableNameArgument() { IItemName[] selectColumns = new IItemName[1] { new ItemName("joinColumn") }; var table = new JoinTable(null, selectColumns); }
public void Constructor_EmptyColumnsArgument() { IEntityName tableName = new EntityName("tableName"); IItemName[] selectColumns = new IItemName[0]; var table = new FromTable(tableName, selectColumns); }
private static DAL.Entities.ItemName Assemble(IItemName itemName) { return(new DAL.Entities.ItemName { Name = itemName.Name, LanguageType = Assemble(itemName.LanguageType) }); }
public void Constructor_EmptyColumnsArgument() { IEntityName tableName = new EntityName("joinTable"); IItemName[] selectColumns = new IItemName[0]; var table = new JoinTable(tableName, selectColumns); Assert.AreEqual(0, table.Columns.Length); }
public void Constructor_OneNullColumnArgument() { IEntityName tableName = new EntityName("joinTable"); IItemName[] selectColumns = new IItemName[2] { new ItemName("joinColumn"), null }; var table = new JoinTable(tableName, selectColumns); }
public void Constructor_OneNullColumnArgument() { IEntityName tableName = new EntityName("tableName"); IItemName[] selectColumns = new IItemName[2] { new ColumnName("name", "alias"), null }; var table = new FromTable(tableName, selectColumns); }
public void ToString_NoJoinColumns() { IEntityName tableName = new EntityName("joinTable"); IItemName[] selectColumns = new IItemName[1] { new ItemName("selectColumn") }; var table = new JoinTable(tableName, selectColumns); Assert.AreEqual(string.Empty, table.ToString()); }
public void AddJoinColumn( IEntityName leftTable, IItemName leftColumnName, IItemName rightColumnName, RelationalOperators relationalOperator = RelationalOperators.Equal, LogicalOperators logicalOperator = LogicalOperators.And) { var leftColumn = new JoinColumn(leftTable, leftColumnName); AddJoinColumn(leftColumn, GetJoinColumn(rightColumnName), relationalOperator, logicalOperator); }
public void ToString_WithSchemaAndOneColumn() { var schema = "fromSchema"; var name = "fromTable"; var tableName = new EntityName(schema, name); var fromColumn1 = "fromCol1"; var columns = new IItemName[] { new ItemName(fromColumn1) }; var ft = new FromTable(tableName, columns); Assert.AreEqual($"select [{schema}].[{name}].[{fromColumn1}]\r\nfrom [{schema}].[{name}]\r\n", ft.ToString()); }
public void Constructor_WithColumns() { IEntityName tableName = new EntityName("joinTable"); IItemName[] selectColumns = new IItemName[1] { new ItemName("joinColumn") }; var table = new JoinTable(tableName, selectColumns); Assert.AreEqual(tableName, table.TableName); Assert.AreEqual(selectColumns, table.Columns); }
public void Constructor() { IEntityName tableName = new EntityName("tableName"); IItemName[] selectColumns = new IItemName[1] { new ColumnName("name", "alias") }; var table = new FromTable(tableName, selectColumns); Assert.AreEqual(tableName, table.TableName); Assert.AreEqual(selectColumns, table.Columns); Assert.IsNull(table.JoinTables); }
public void AddJoinColumn() { IEntityName tableName = new EntityName("joinTable"); IItemName[] selectColumns = new IItemName[1] { new ItemName("joinColumn") }; var table = new JoinTable(tableName, selectColumns); EntityName fromTableName = "fromTable"; ItemName leftColumn = "leftJoinColumn"; ItemName rightColumn = "rightJoinColumn"; table.AddJoinColumn(fromTableName, leftColumn, rightColumn); }
public void ToString_WithoutSchema() { var name = "fromTable"; var tableName = new EntityName(name); var fromColumn1 = "fromCol1"; var fromColumn2 = "fromCol2"; var fromAlias2 = "fromAlias2"; var columns = new IItemName[] { new ItemName(fromColumn1), new ColumnName(fromColumn2, fromAlias2) }; var ft = new FromTable(tableName, columns); Assert.AreEqual($"select [{name}].[{fromColumn1}], [{name}].[{fromColumn2}] as [{fromAlias2}]\r\nfrom [{name}]\r\n", ft.ToString()); }
public void ToString_OneJoinColumn() { IEntityName tableName = new EntityName("joinTable"); IItemName[] selectColumns = new IItemName[1] { new ItemName("selectColumn") }; var table = new JoinTable(tableName, selectColumns); EntityName fromTableName = "fromTable"; ItemName leftColumn1 = "leftJoinColumn"; ItemName rightColumn1 = "rightJoinColumn"; table.AddJoinColumn(fromTableName, leftColumn1, rightColumn1); var testString = $"join {tableName} on {fromTableName}.{leftColumn1}{RelationalOperators.Equal.ToSqlString()}{table.TableName}.{rightColumn1}"; Assert.AreEqual(testString, table.ToString()); }
public JoinColumn(IEntityName tableName, IItemName columnName) { TableName = tableName ?? throw new ArgumentNullException(nameof(tableName)); ColumnName = columnName ?? throw new ArgumentNullException(nameof(columnName)); }
public JoinColumn GetJoinColumn(IItemName rightColumnName) { return(new JoinColumn(TableName, rightColumnName)); }
public void Join(IItemName columnName, Directions sortDirection = Directions.Ascending) { NextExpression = new SortExpression(columnName, sortDirection); }
public bool Equals(IItemName other) { return(other != null && Name == other.Name); }
public SortExpression(IItemName columnName, Directions sortDirection = Directions.Ascending) { _columnName = columnName ?? throw new ArgumentNullException(nameof(columnName)); _sortDirection = sortDirection; }