public void GetOrAddJoin_NewEntry() { var sqlTable = SqlStatementModelObjectMother.CreateSqlTable(typeof(Cook)); var unresolvedJoinInfo = SqlStatementModelObjectMother.CreateUnresolvedJoinInfo_CookSubstitution(); var joinedTable = sqlTable.GetOrAddLeftJoin(unresolvedJoinInfo, unresolvedJoinInfo.MemberInfo); Assert.That(joinedTable.JoinSemantics, Is.EqualTo(JoinSemantics.Left)); Assert.That(joinedTable.JoinInfo, Is.SameAs(unresolvedJoinInfo)); }
public void GetOrAddJoin_GetEntry_Twice() { var sqlTable = SqlStatementModelObjectMother.CreateSqlTable(typeof(Cook)); var memberInfo = typeof(Cook).GetProperty("FirstName"); var unresolvedJoinInfo = SqlStatementModelObjectMother.CreateUnresolvedJoinInfo_CookSubstitution(); var joinedTable1 = sqlTable.GetOrAddLeftJoin(unresolvedJoinInfo, memberInfo); var originalJoinInfo = joinedTable1.JoinInfo; var joinedTable2 = sqlTable.GetOrAddLeftJoin(originalJoinInfo, memberInfo); Assert.That(joinedTable2, Is.SameAs(joinedTable1)); Assert.That(joinedTable2.JoinInfo, Is.SameAs(originalJoinInfo)); }
public void GetSqlStatement() { var statementBuilder = new SqlStatementBuilder(); statementBuilder.DataInfo = new TestStreamedValueInfo(typeof(int)); var constantExpression = Expression.Constant("test"); statementBuilder.SelectProjection = constantExpression; var sqlTable = SqlStatementModelObjectMother.CreateSqlTable(); statementBuilder.SqlTables.Add(sqlTable); var result = statementBuilder.GetSqlStatement(); Assert.That(result.SelectProjection, Is.SameAs(constantExpression)); Assert.That(result.SqlTables.Count, Is.EqualTo(1)); Assert.That(result.SqlTables[0], Is.SameAs(sqlTable)); }