summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp')
-rw-r--r--searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp b/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp
index 2e88f0e90b0..ab43e19251a 100644
--- a/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp
+++ b/searchlib/src/tests/tensor/dense_tensor_store/dense_tensor_store_test.cpp
@@ -111,5 +111,25 @@ TEST_F("require that empty 3d tensor has size 1 in un-bound dimensions", Fixture
add({{"x", 0}, {"y", 1}, {"z", 0}}, 0));
}
+void
+assertClusterSize(const vespalib::string &tensorType, uint32_t expClusterSize) {
+ Fixture f(tensorType);
+ EXPECT_EQUAL(expClusterSize, f.store.getClusterSize());
+}
+
+TEST("require that cluster size is calculated correctly")
+{
+ TEST_DO(assertClusterSize("tensor(x[1])", 32));
+ TEST_DO(assertClusterSize("tensor(x[10])", 96));
+ TEST_DO(assertClusterSize("tensor(x[3])", 32));
+ TEST_DO(assertClusterSize("tensor(x[3],y[])", 32));
+ TEST_DO(assertClusterSize("tensor(x[3],y[],z[])", 32));
+ TEST_DO(assertClusterSize("tensor(x[3],y[],z[],z2[])", 64));
+ TEST_DO(assertClusterSize("tensor(x[10],y[10])", 800));
+ TEST_DO(assertClusterSize("tensor(x[])", 32));
+ TEST_DO(assertClusterSize("tensor(x[],x2[],x3[],x4[],x5[],x6[])", 32));
+ TEST_DO(assertClusterSize("tensor(x[],x2[],x3[],x4[],x5[],x6[],x7[])", 64));
+}
+
TEST_MAIN() { TEST_RUN_ALL(); }