From e12f8f179666ed70d03c99039565ba63c45f7c7a Mon Sep 17 00:00:00 2001 From: Neil Date: Wed, 20 Jul 2022 11:19:40 +1000 Subject: Implement PositionNext to iterate. Simpler than IndexAfter for client code which is not interested in SparseVector indices. --- test/unit/testSparseVector.cxx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test') diff --git a/test/unit/testSparseVector.cxx b/test/unit/testSparseVector.cxx index 5b50d24e4..763fa027c 100644 --- a/test/unit/testSparseVector.cxx +++ b/test/unit/testSparseVector.cxx @@ -383,6 +383,20 @@ TEST_CASE("SparseTextInt") { REQUIRE(5 == st.PositionOfElement(2)); REQUIRE(2 == st.IndexAfter(4)); } + + SECTION("PositionNext") { + st.InsertSpace(0, 5); + REQUIRE(1 == st.Elements()); + REQUIRE(5 == st.PositionNext(-1)); + REQUIRE(5 == st.PositionNext(0)); + REQUIRE(6 == st.PositionNext(5)); + st.SetValueAt(3, 3); + REQUIRE(2 == st.Elements()); + REQUIRE(3 == st.PositionNext(-1)); + REQUIRE(3 == st.PositionNext(0)); + REQUIRE(5 == st.PositionNext(3)); + REQUIRE(6 == st.PositionNext(5)); + } } TEST_CASE("SparseTextString") { -- cgit v1.2.3