diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2023-05-01 21:29:01 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2023-05-01 21:29:01 +0100 |
commit | c977c02ba3a6ad6ada3f1a458b41a77f2be2b871 (patch) | |
tree | 40914fd6b27b1d74ebff87504d161851292d1b06 /test | |
parent | Don't explictly call destructor of contained element (diff) | |
download | ilt-c977c02ba3a6ad6ada3f1a458b41a77f2be2b871.tar.bz2 ilt-c977c02ba3a6ad6ada3f1a458b41a77f2be2b871.tar.xz ilt-c977c02ba3a6ad6ada3f1a458b41a77f2be2b871.zip |
Refactor InstanceVertices in terms of glContainer
Diffstat (limited to 'test')
-rw-r--r-- | test/test-instancing.cpp | 65 |
1 files changed, 30 insertions, 35 deletions
diff --git a/test/test-instancing.cpp b/test/test-instancing.cpp index 8745484..7d8ea55 100644 --- a/test/test-instancing.cpp +++ b/test/test-instancing.cpp @@ -17,14 +17,8 @@ BOOST_FIXTURE_TEST_SUITE(i, InstanceVertices<int>) BOOST_AUTO_TEST_CASE(createDestroy) { - BOOST_CHECK(!data); - map(); - BOOST_REQUIRE(data); - BOOST_CHECK_EQUAL(0, next); BOOST_CHECK(unused.empty()); BOOST_CHECK(index.empty()); - unmap(); - BOOST_CHECK(!data); } BOOST_AUTO_TEST_CASE(acquireRelease) @@ -32,12 +26,12 @@ BOOST_AUTO_TEST_CASE(acquireRelease) { auto proxy = acquire(); *proxy = 20; - BOOST_CHECK_EQUAL(1, next); + BOOST_CHECK_EQUAL(1, size()); BOOST_REQUIRE_EQUAL(1, index.size()); BOOST_CHECK_EQUAL(0, index.front()); BOOST_CHECK(unused.empty()); } - BOOST_CHECK_EQUAL(0, next); + BOOST_CHECK_EQUAL(0, size()); BOOST_CHECK(unused.empty()); BOOST_CHECK(index.empty()); } @@ -47,13 +41,13 @@ BOOST_AUTO_TEST_CASE(acquireReleaseMove) { auto proxy1 = acquire(); *proxy1 = 20; - BOOST_CHECK_EQUAL(1, next); + BOOST_CHECK_EQUAL(1, size()); auto proxy2 = std::move(proxy1); proxy2 = 40; - BOOST_CHECK_EQUAL(1, next); - BOOST_CHECK_EQUAL(data[0], 40); + BOOST_CHECK_EQUAL(1, size()); + BOOST_CHECK_EQUAL(at(0), 40); } - BOOST_CHECK_EQUAL(0, next); + BOOST_CHECK_EQUAL(0, size()); BOOST_CHECK(unused.empty()); BOOST_CHECK(index.empty()); } @@ -62,13 +56,13 @@ BOOST_AUTO_TEST_CASE(autoMapUnmap) { { auto proxy = acquire(); - BOOST_CHECK(data); + BOOST_CHECK(data_); std::ignore = bufferName(); - BOOST_CHECK(data); - BOOST_CHECK_EQUAL(1, count()); - BOOST_CHECK(!data); + BOOST_CHECK(data_); + BOOST_CHECK_EQUAL(1, size()); + BOOST_CHECK(!data_); } - BOOST_CHECK_EQUAL(0, count()); + BOOST_CHECK_EQUAL(0, size()); } BOOST_AUTO_TEST_CASE(initialize) @@ -89,7 +83,7 @@ BOOST_AUTO_TEST_CASE(resize) proxies.push_back(acquire(n)); expected.emplace_back(n); } - BOOST_CHECK_EQUAL_COLLECTIONS(expected.begin(), expected.end(), data, data + COUNT); + BOOST_CHECK_EQUAL_COLLECTIONS(expected.begin(), expected.end(), data(), data() + COUNT); BOOST_CHECK_EQUAL_COLLECTIONS(expected.begin(), expected.end(), proxies.begin(), proxies.end()); } @@ -100,11 +94,11 @@ BOOST_AUTO_TEST_CASE(shuffle) BOOST_CHECK_EQUAL(1, proxies.emplace_back(acquire(1))); BOOST_CHECK_EQUAL(2, proxies.emplace_back(acquire(2))); BOOST_CHECK_EQUAL(3, proxies.emplace_back(acquire(3))); - BOOST_CHECK_EQUAL(4, next); - BOOST_CHECK_EQUAL(data + 0, proxies[0].get()); - BOOST_CHECK_EQUAL(data + 1, proxies[1].get()); - BOOST_CHECK_EQUAL(data + 2, proxies[2].get()); - BOOST_CHECK_EQUAL(data + 3, proxies[3].get()); + BOOST_CHECK_EQUAL(4, size()); + BOOST_CHECK_EQUAL(at(0), *proxies[0].get()); + BOOST_CHECK_EQUAL(at(1), *proxies[1].get()); + BOOST_CHECK_EQUAL(at(2), *proxies[2].get()); + BOOST_CHECK_EQUAL(at(3), *proxies[3].get()); BOOST_CHECK(unused.empty()); BOOST_REQUIRE_EQUAL(4, index.size()); BOOST_CHECK_EQUAL(0, index[0]); @@ -113,28 +107,29 @@ BOOST_AUTO_TEST_CASE(shuffle) BOOST_CHECK_EQUAL(3, index[3]); // Remove 1, 3 moves to [1] proxies.erase(proxies.begin() + 1); + BOOST_REQUIRE_EQUAL(3, proxies.size()); BOOST_REQUIRE_EQUAL(4, index.size()); BOOST_REQUIRE_EQUAL(1, unused.size()); BOOST_CHECK_EQUAL(1, unused[0]); - BOOST_CHECK_EQUAL(data + 0, proxies[0].get()); - BOOST_CHECK_EQUAL(data + 2, proxies[1].get()); - BOOST_CHECK_EQUAL(data + 1, proxies[2].get()); - // Remove 1, 2 moves to [1] + BOOST_CHECK_EQUAL(at(0), *proxies[0].get()); + BOOST_CHECK_EQUAL(at(2), *proxies[1].get()); + BOOST_CHECK_EQUAL(at(1), *proxies[2].get()); + // Remove 1, 2 moves to [1] proxies.erase(proxies.begin() + 1); BOOST_REQUIRE_EQUAL(4, index.size()); BOOST_REQUIRE_EQUAL(2, unused.size()); BOOST_CHECK_EQUAL(1, unused[0]); BOOST_CHECK_EQUAL(2, unused[1]); - BOOST_CHECK_EQUAL(data + 0, proxies[0].get()); - BOOST_CHECK_EQUAL(data + 1, proxies[1].get()); + BOOST_CHECK_EQUAL(at(0), *proxies[0].get()); + BOOST_CHECK_EQUAL(at(1), *proxies[1].get()); // Add new, takes 2 at [2] BOOST_CHECK_EQUAL(4, proxies.emplace_back(acquire(4))); BOOST_REQUIRE_EQUAL(4, index.size()); BOOST_REQUIRE_EQUAL(1, unused.size()); BOOST_CHECK_EQUAL(1, unused[0]); - BOOST_CHECK_EQUAL(data + 0, proxies[0].get()); - BOOST_CHECK_EQUAL(data + 1, proxies[1].get()); - BOOST_CHECK_EQUAL(data + 2, proxies[2].get()); + BOOST_CHECK_EQUAL(at(0), *proxies[0].get()); + BOOST_CHECK_EQUAL(at(1), *proxies[1].get()); + BOOST_CHECK_EQUAL(at(2), *proxies[2].get()); } BOOST_DATA_TEST_CASE(shuffle_random, boost::unit_test::data::xrange(0, 10), x) @@ -158,7 +153,7 @@ BOOST_DATA_TEST_CASE(shuffle_random, boost::unit_test::data::xrange(0, 10), x) break; } - BOOST_REQUIRE_EQUAL(next, proxies.size()); + BOOST_REQUIRE_EQUAL(size(), proxies.size()); for (const auto & [n, p] : proxies) { BOOST_REQUIRE_EQUAL(n, p); } @@ -169,10 +164,10 @@ BOOST_DATA_TEST_CASE(shuffle_random, boost::unit_test::data::xrange(0, 10), x) } } BOOST_TEST_CONTEXT(index) { - BOOST_REQUIRE_EQUAL(iused.size(), next); + BOOST_REQUIRE_EQUAL(iused.size(), size()); if (!iused.empty()) { BOOST_REQUIRE_EQUAL(*iused.begin(), 0); - BOOST_REQUIRE_EQUAL(*iused.rbegin(), next - 1); + BOOST_REQUIRE_EQUAL(*iused.rbegin(), size() - 1); } } } |