From dbe5ffc4ea4df728da62496d19067de737a20ccd Mon Sep 17 00:00:00 2001 From: Teon Banek Date: Tue, 18 Apr 2017 12:07:13 +0200 Subject: [PATCH] Raise if `Abs` function got a boolean Reviewers: florijan, mislav.bradac Reviewed By: mislav.bradac Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D289 --- src/query/interpret/awesome_memgraph_functions.cpp | 2 -- tests/unit/query_expression_evaluator.cpp | 5 ++--- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/query/interpret/awesome_memgraph_functions.cpp b/src/query/interpret/awesome_memgraph_functions.cpp index fbb00f779..8021f089e 100644 --- a/src/query/interpret/awesome_memgraph_functions.cpp +++ b/src/query/interpret/awesome_memgraph_functions.cpp @@ -15,8 +15,6 @@ TypedValue Abs(const std::vector &args) { switch (args[0].type()) { case TypedValue::Type::Null: return TypedValue::Null; - case TypedValue::Type::Bool: - return args[0].Value(); case TypedValue::Type::Int: return static_cast( std::abs(static_cast(args[0].Value()))); diff --git a/tests/unit/query_expression_evaluator.cpp b/tests/unit/query_expression_evaluator.cpp index abc6fccc1..ba8888c2c 100644 --- a/tests/unit/query_expression_evaluator.cpp +++ b/tests/unit/query_expression_evaluator.cpp @@ -246,7 +246,7 @@ TEST(ExpressionEvaluator, IsNullOperator) { ASSERT_EQ(eval.eval.PopBack().Value(), true); } -TEST(ExpressionEvaluator, Function) { +TEST(ExpressionEvaluator, AbsFunction) { AstTreeStorage storage; NoContextExpressionEvaluator eval; { @@ -271,8 +271,7 @@ TEST(ExpressionEvaluator, Function) { { std::vector arguments = {storage.Create(true)}; auto *op = storage.Create(NameToFunction("ABS"), arguments); - op->Accept(eval.eval); - ASSERT_EQ(eval.eval.PopBack().Value(), true); + ASSERT_THROW(op->Accept(eval.eval), QueryRuntimeException); } { std::vector arguments = {