diff options
author | Arne Juul <arnej@verizonmedia.com> | 2021-03-18 17:09:36 +0000 |
---|---|---|
committer | Arne Juul <arnej@verizonmedia.com> | 2021-03-19 11:26:10 +0000 |
commit | ef422d3dcdfc9cac070446e9c855e3eb242fba43 (patch) | |
tree | df6baa77a7c53bc1041ba4e07870b164e0a472a2 /eval | |
parent | e238515848ef8151cb31d0339fa377272a6376e6 (diff) |
allow empty mapped dim
Diffstat (limited to 'eval')
-rw-r--r-- | eval/src/tests/eval/gen_spec/gen_spec_test.cpp | 10 | ||||
-rw-r--r-- | eval/src/vespa/eval/eval/test/gen_spec.cpp | 1 | ||||
-rw-r--r-- | eval/src/vespa/eval/eval/test/gen_spec.h | 1 |
3 files changed, 11 insertions, 1 deletions
diff --git a/eval/src/tests/eval/gen_spec/gen_spec_test.cpp b/eval/src/tests/eval/gen_spec/gen_spec_test.cpp index d89bf5b8e79..b371e08960f 100644 --- a/eval/src/tests/eval/gen_spec/gen_spec_test.cpp +++ b/eval/src/tests/eval/gen_spec/gen_spec_test.cpp @@ -245,6 +245,16 @@ TEST(GenSpecFromDescTest, dim_spec_and_gen_spec_can_be_created_from_desc) { EXPECT_EQ(gen_desc, expect); } +TEST(GenSpecFromDescTest, empty_mapped_dim_possible) { + // 'a0_1' + auto expect = GenSpec().map("a", 0).gen(); + auto dim_desc = GenSpec().desc("a0_1").gen(); + auto gen_desc = GenSpec::from_desc("a0_1").gen(); + EXPECT_EQ(dim_desc, expect); + EXPECT_EQ(gen_desc, expect); +} + + TEST(GenSpecFromDescTest, multi_character_sizes_work) { // 'a13b1' auto expect = GenSpec().idx("a", 13).idx("b", 1).gen(); diff --git a/eval/src/vespa/eval/eval/test/gen_spec.cpp b/eval/src/vespa/eval/eval/test/gen_spec.cpp index 913c23200ff..96c2c16eaa0 100644 --- a/eval/src/vespa/eval/eval/test/gen_spec.cpp +++ b/eval/src/vespa/eval/eval/test/gen_spec.cpp @@ -73,7 +73,6 @@ DimSpec::from_desc(const vespalib::string &desc) assert(idx < desc.size()); assert(is_num(desc[idx])); size_t num = as_num(desc[idx++]); - assert(num != 0); // catch leading zeroes/zero size while ((idx < desc.size()) && is_num(desc[idx])) { num = (num * 10) + as_num(desc[idx++]); } diff --git a/eval/src/vespa/eval/eval/test/gen_spec.h b/eval/src/vespa/eval/eval/test/gen_spec.h index def24e6711f..f0eca6074dc 100644 --- a/eval/src/vespa/eval/eval/test/gen_spec.h +++ b/eval/src/vespa/eval/eval/test/gen_spec.h @@ -121,6 +121,7 @@ public: const seq_t &seq() const { return _seq; } GenSpec cpy() const { return *this; } GenSpec &idx(const vespalib::string &name, size_t size) { + assert(size != 0); _dims.emplace_back(name, size); return *this; } |