diff options
-rw-r--r-- | src/SparseVector.h | 5 | ||||
-rw-r--r-- | test/unit/testSparseVector.cxx | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/SparseVector.h b/src/SparseVector.h index cfd9db02e..01d651f0d 100644 --- a/src/SparseVector.h +++ b/src/SparseVector.h @@ -147,6 +147,11 @@ public: starts->InsertText(partition, -1); Check(); } + void DeleteAll() { + starts = std::make_unique<Partitioning<Sci::Position>>(8); + values = std::make_unique<SplitVector<T>>(); + values->InsertEmpty(0, 2); + } void DeleteRange(Sci::Position position, Sci::Position deleteLength) { // For now, delete elements in range - may want to leave value at start // or combine onto position. diff --git a/test/unit/testSparseVector.cxx b/test/unit/testSparseVector.cxx index 288f671c1..5b50d24e4 100644 --- a/test/unit/testSparseVector.cxx +++ b/test/unit/testSparseVector.cxx @@ -210,6 +210,9 @@ TEST_CASE("SparseVector") { st.SetValueAt(3, UniqueStringCopy("3")); REQUIRE(5 == st.Elements()); REQUIRE("---34--7-9-" == Representation(st)); + st.DeleteAll(); + REQUIRE(1 == st.Elements()); + REQUIRE("-" == Representation(st)); st.Check(); } |