def test_value_eval(self): # type: () -> None # A constant is repeated for each row in the context table. value = Value(12345, BQScalarType.INTEGER) context = EvaluationContext(self.small_table_context) context.add_table_from_node(TableReference(('my_project', 'my_dataset', 'my_table')), 'foo') typed_series = value.evaluate(context) assert isinstance(typed_series, TypedSeries) self.assertEqual(list(typed_series.series), [12345, 12345])
def test_if_error(self): condition = Value(5, BQScalarType.INTEGER) then = Value(0, BQScalarType.INTEGER) else_ = Value(1, BQScalarType.INTEGER) if_expression = If(condition, then, else_) error = escape("IF condition isn't boolean! Found: {}".format( str(condition.evaluate(EMPTY_CONTEXT)))) with self.assertRaisesRegexp(ValueError, error): if_expression.evaluate(EMPTY_CONTEXT)