diff options
author | Haavard <havardpe@yahoo-inc.com> | 2016-10-27 11:05:59 +0000 |
---|---|---|
committer | Haavard <havardpe@yahoo-inc.com> | 2016-11-03 10:08:29 +0000 |
commit | 7e8397d4eb760454b106a6bda3f22ac93a00ce0a (patch) | |
tree | 91f15da533db12716166c8ae8b6c8dc807717613 | |
parent | f4d3f253da2db33a275b1edcaded165a78399d43 (diff) |
remove tensor eval test that only used verbatim tensors
-rw-r--r-- | vespalib/CMakeLists.txt | 1 | ||||
-rw-r--r-- | vespalib/src/tests/eval/tensor/.gitignore | 1 | ||||
-rw-r--r-- | vespalib/src/tests/eval/tensor/CMakeLists.txt | 9 | ||||
-rw-r--r-- | vespalib/src/tests/eval/tensor/eval_tensor_test.cpp | 101 |
4 files changed, 0 insertions, 112 deletions
diff --git a/vespalib/CMakeLists.txt b/vespalib/CMakeLists.txt index 7dbc7f91ae2..95d2434ff38 100644 --- a/vespalib/CMakeLists.txt +++ b/vespalib/CMakeLists.txt @@ -32,7 +32,6 @@ vespa_define_module( src/tests/eval/interpreted_function src/tests/eval/node_types src/tests/eval/simple_tensor - src/tests/eval/tensor src/tests/eval/tensor_function src/tests/eval/value_cache src/tests/eval/value_type diff --git a/vespalib/src/tests/eval/tensor/.gitignore b/vespalib/src/tests/eval/tensor/.gitignore deleted file mode 100644 index b99fb9adb34..00000000000 --- a/vespalib/src/tests/eval/tensor/.gitignore +++ /dev/null @@ -1 +0,0 @@ -vespalib_eval_tensor_test_app diff --git a/vespalib/src/tests/eval/tensor/CMakeLists.txt b/vespalib/src/tests/eval/tensor/CMakeLists.txt deleted file mode 100644 index 07d961385ee..00000000000 --- a/vespalib/src/tests/eval/tensor/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -vespa_add_executable(vespalib_eval_tensor_test_app TEST - SOURCES - eval_tensor_test.cpp - DEPENDS - vespalib - vespalib_vespalib_tensor -) -vespa_add_test(NAME vespalib_eval_tensor_test_app COMMAND vespalib_eval_tensor_test_app) diff --git a/vespalib/src/tests/eval/tensor/eval_tensor_test.cpp b/vespalib/src/tests/eval/tensor/eval_tensor_test.cpp deleted file mode 100644 index 0431133068d..00000000000 --- a/vespalib/src/tests/eval/tensor/eval_tensor_test.cpp +++ /dev/null @@ -1,101 +0,0 @@ -// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. -#include <vespa/vespalib/testkit/test_kit.h> -#include <vespa/vespalib/eval/function.h> -#include <vespa/vespalib/tensor/tensor.h> -#include <vespa/vespalib/eval/interpreted_function.h> -#include <vespa/vespalib/tensor/default_tensor_engine.h> - -using namespace vespalib; -using namespace vespalib::eval; - -struct Check { - const Value &value; - explicit Check(const Value &value_in) : value(value_in) {} - bool operator==(const Check &rhs) const { return value.equal(rhs.value); } -}; - -std::ostream &operator<<(std::ostream &os, const Check &check) { - const Value &value = check.value; - if (value.is_error()) { - os << "EVAL ERROR"; - } else if (value.is_double()) { - os << value.as_double(); - } else if (value.is_tensor()) { - os << value.as_tensor(); - } - return os; -} - -struct Eval { - InterpretedFunction::Context ctx; - InterpretedFunction ifun; - const Value *result; - explicit Eval(const vespalib::string &expr) - : ctx(), ifun(tensor::DefaultTensorEngine::ref(), Function::parse(expr), NodeTypes()), result(&ifun.eval(ctx)) {} - bool operator==(const Eval &rhs) const { return result->equal(*rhs.result); } -}; - -std::ostream &operator<<(std::ostream &os, const Eval &eval) { - os << Check(*eval.result); - return os; -} - -TEST_FF("require that eval errors are not equal", Eval("{"), Eval("{")) { - EXPECT_TRUE(f1.result->is_error()); - EXPECT_TRUE(f2.result->is_error()); - EXPECT_NOT_EQUAL(f1, f2); -} - -TEST("require that different tensors are not equal") { - EXPECT_EQUAL(Eval("{{x:1}:1}"), Eval("{{x:1}:1}")); - EXPECT_NOT_EQUAL(Eval("{{x:1}:1}"), Eval("{{x:1}:2}")); - EXPECT_NOT_EQUAL(Eval("{{x:1}:1}"), Eval("{{x:2}:1}")); - EXPECT_NOT_EQUAL(Eval("{{x:1}:1}"), Eval("{{y:1}:1}")); - EXPECT_NOT_EQUAL(Eval("{{x:1}:1}"), Eval("{{x:1}:1,{x:2}:1}")); -} - -TEST("require that tensor sum works") { - EXPECT_EQUAL(Eval("6.0"), Eval("sum({{x:1}:1,{x:2}:2,{x:3}:3})")); -} - -TEST("require that tensor sum over dimension works") { - EXPECT_EQUAL(Eval("{{x:1}:4,{x:2}:6}"), Eval("sum({{x:1,y:1}:1,{x:2,y:1}:2,{x:1,y:2}:3,{x:2,y:2}:4},y)")); - EXPECT_EQUAL(Eval("{{y:1}:3,{y:2}:7}"), Eval("sum({{x:1,y:1}:1,{x:2,y:1}:2,{x:1,y:2}:3,{x:2,y:2}:4},x)")); -} - -TEST("require that tensor add works") { - EXPECT_EQUAL(Eval("{{x:2}:5}"), Eval("{{x:1}:1,{x:2}:2} + {{x:2}:3,{x:3}:3}")); - EXPECT_EQUAL(Eval("{{x:2}:5}"), Eval("{{x:2}:3,{x:3}:3} + {{x:1}:1,{x:2}:2}")); -} - -TEST("require that tensor sub works") { - EXPECT_EQUAL(Eval("{{x:2}:-1}"), Eval("{{x:1}:1,{x:2}:2} - {{x:2}:3,{x:3}:3}")); - EXPECT_EQUAL(Eval("{{x:2}:1}"), Eval("{{x:2}:3,{x:3}:3} - {{x:1}:1,{x:2}:2}")); -} - -TEST("require that tensor multiply works") { - EXPECT_EQUAL(Eval("{{x:1,y:1}:3,{x:2,y:1}:6,{x:1,y:2}:4,{x:2,y:2}:8}"), Eval("{{x:1}:1,{x:2}:2}*{{y:1}:3,{y:2}:4}")); -} - -TEST("require that tensor min works") { - EXPECT_EQUAL(Eval("{{x:2}:2}"), Eval("min({{x:1}:1,{x:2}:2}, {{x:2}:3,{x:3}:3})")); - EXPECT_EQUAL(Eval("{{x:2}:2}"), Eval("min({{x:2}:3,{x:3}:3}, {{x:1}:1,{x:2}:2})")); -} - -TEST("require that tensor max works") { - EXPECT_EQUAL(Eval("{{x:2}:3}"), Eval("max({{x:1}:1,{x:2}:2}, {{x:2}:3,{x:3}:3})")); - EXPECT_EQUAL(Eval("{{x:2}:3}"), Eval("max({{x:2}:3,{x:3}:3}, {{x:1}:1,{x:2}:2})")); -} - -TEST("require that tensor match works") { - EXPECT_EQUAL(Eval("{{x:2}:6}"), Eval("match({{x:1}:1,{x:2}:2},{{x:2}:3,{x:3}:3})")); -} - -TEST("require that tensor cell function works") { - EXPECT_EQUAL(Eval("{{x:1}:3,{x:2}:4,{x:3}:5}"), Eval("{{x:1}:1,{x:2}:2,{x:3}:3}+2")); - EXPECT_EQUAL(Eval("{{x:1}:3,{x:2}:4,{x:3}:5}"), Eval("2+{{x:1}:1,{x:2}:2,{x:3}:3}")); - EXPECT_EQUAL(Eval("{{x:1}:-1,{x:2}:0,{x:3}:1}"), Eval("{{x:1}:1,{x:2}:2,{x:3}:3}-2")); - EXPECT_EQUAL(Eval("{{x:1}:1,{x:2}:0,{x:3}:-1}"), Eval("2-{{x:1}:1,{x:2}:2,{x:3}:3}")); -} - -TEST_MAIN() { TEST_RUN_ALL(); } |