public void Compile_WithSingleEdge_ReturnSingleJoin() { // Arrange TableRelation edge = new TableRelation() { TableRelationId = -2151, SourceTableId = 46, TargetTableId = 113, Weight = 5, SourceColumName = "location_id", TargetColumnName = "location_id", SourceTable = new Table() { TableId = 46, TableOrUdfName = "countries" }, TargetTable = new Table() { TableId = 113, TableOrUdfName = "tbl_site_locations" } }; FacetTable facetTable = new FacetTable { FacetTableId = 1, FacetId = 1, SequenceId = 1, TableId = edge.TargetTableId, Table = edge.TargetTable, UdfCallArguments = null, Alias = "" }; // Act var edgeSqlCompiler = new JoinSqlCompiler(); var result = edgeSqlCompiler.Compile(edge, facetTable, false); // Assert var expected = "left join tbl_site_locations on tbl_site_locations.\"location_id\" = countries.\"location_id\""; Assert.Equal(expected, result.ToLower().Trim()); }
public void Compile_WithSingleEdgeWithWithoutAliasAndNoUdf_ReturnSingleJoinWithNoAlias() { // Arrange TableRelation edge = new TableRelation() { TableRelationId = -2151, Weight = 5, SourceColumName = "a", TargetColumnName = "a", SourceTable = new Table() { TableId = 1, TableOrUdfName = "A" }, TargetTable = new Table() { TableId = 2, TableOrUdfName = "B" } }; FacetTable facetTable = new FacetTable { FacetTableId = 1, FacetId = 1, SequenceId = 1, TableId = edge.TargetTableId, Table = edge.TargetTable, UdfCallArguments = null, Alias = "" }; // Act var edgeSqlCompiler = new JoinSqlCompiler(); var result = edgeSqlCompiler.Compile(edge, facetTable, false); // Assert var expected = @"\s*left\s+join\s+b\s+on\s+b\.""a""\s+=\s+a\.""a""\s*"; Assert.Matches(expected, result.ToLower()); }