public void Unable_To_Get_Column_Throws_UnableToGetColumnFromExpressionException() { // Arrange // Act var a0 = void() => QueryBuilderF.GetColumnFromExpression <BrokenTable>(t => t.Bar); var a1 = void() => QueryBuilderF.GetColumnFromExpression(new BrokenTable(), t => t.Bar); // Assert Assert.Throws <UnableToGetColumnFromExpressionException <BrokenTable> >(a0); Assert.Throws <UnableToGetColumnFromExpressionException <BrokenTable> >(a1); }
public void Returns_Column_With_Property_Value_As_Name_And_Property_Name_As_Alias() { // Arrange var tableName = Rnd.Str; var table = new TestTable(tableName); // Act var r0 = QueryBuilderF.GetColumnFromExpression(table, t => t.Foo); var r1 = QueryBuilderF.GetColumnFromExpression <TestTable>(t => t.Foo); // Assert Assert.Equal(tableName, r0.TblName.Name); Assert.Equal(table.Foo, r0.ColName); Assert.Equal(nameof(table.Foo), r0.ColAlias); Assert.Equal(nameof(TestTable), r1.TblName.Name); Assert.Equal(table.Foo, r1.ColName); Assert.Equal(nameof(table.Foo), r1.ColAlias); }