Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-10-29 07:55:34

0001 // This file is part of the ACTS project.
0002 //
0003 // Copyright (C) 2016 CERN for the benefit of the ACTS project
0004 //
0005 // This Source Code Form is subject to the terms of the Mozilla Public
0006 // License, v. 2.0. If a copy of the MPL was not distributed with this
0007 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
0008 
0009 #include <boost/test/unit_test.hpp>
0010 
0011 #include "Acts/Seeding/detail/UtilityFunctions.hpp"
0012 
0013 #include <iterator>
0014 #include <list>
0015 #include <set>
0016 #include <string>
0017 #include <unordered_set>
0018 #include <vector>
0019 
0020 using namespace Acts;
0021 
0022 namespace ActsTests {
0023 
0024 BOOST_AUTO_TEST_SUITE(SeedingSuite)
0025 
0026 BOOST_AUTO_TEST_CASE(pushBackOrInsertAtEnd_vector) {
0027   std::vector<std::size_t> coll;
0028   detail::pushBackOrInsertAtEnd(coll, 2ul);
0029   BOOST_CHECK(coll.size() == 1ul);
0030   detail::pushBackOrInsertAtEnd(coll, 5ul);
0031   BOOST_CHECK(coll.size() == 2ul);
0032   std::size_t val = 1ul;
0033   detail::pushBackOrInsertAtEnd(coll, val);
0034   BOOST_CHECK(coll.size() == 3ul);
0035 
0036   BOOST_CHECK_EQUAL(coll[0], 2ul);
0037   BOOST_CHECK_EQUAL(coll[1], 5ul);
0038   BOOST_CHECK_EQUAL(coll[2], 1ul);
0039 }
0040 
0041 BOOST_AUTO_TEST_CASE(pushBackOrInsertAtEnd_list) {
0042   std::list<std::size_t> coll;
0043   detail::pushBackOrInsertAtEnd(coll, 2ul);
0044   BOOST_CHECK(coll.size() == 1ul);
0045   detail::pushBackOrInsertAtEnd(coll, 5ul);
0046   BOOST_CHECK(coll.size() == 2ul);
0047   std::size_t val = 1ul;
0048   detail::pushBackOrInsertAtEnd(coll, val);
0049   BOOST_CHECK(coll.size() == 3ul);
0050 
0051   BOOST_CHECK_EQUAL(coll.front(), 2ul);
0052   coll.pop_front();
0053   BOOST_CHECK_EQUAL(coll.front(), 5ul);
0054   coll.pop_front();
0055   BOOST_CHECK_EQUAL(coll.front(), 1ul);
0056   coll.pop_front();
0057 }
0058 
0059 BOOST_AUTO_TEST_CASE(pushBackOrInsertAtEnd_set) {
0060   std::set<std::size_t> coll;
0061   detail::pushBackOrInsertAtEnd(coll, 2ul);
0062   BOOST_CHECK(coll.size() == 1ul);
0063   detail::pushBackOrInsertAtEnd(coll, 5ul);
0064   BOOST_CHECK(coll.size() == 2ul);
0065   std::size_t val = 1ul;
0066   detail::pushBackOrInsertAtEnd(coll, val);
0067   BOOST_CHECK(coll.size() == 3ul);
0068 
0069   BOOST_CHECK(coll.contains(2ul));
0070   BOOST_CHECK(coll.contains(5ul));
0071   BOOST_CHECK(coll.contains(1ul));
0072 }
0073 
0074 BOOST_AUTO_TEST_CASE(pushBackOrInsertAtEnd_unordered_set) {
0075   std::unordered_set<std::size_t> coll;
0076   detail::pushBackOrInsertAtEnd(coll, 2ul);
0077   BOOST_CHECK(coll.size() == 1ul);
0078   detail::pushBackOrInsertAtEnd(coll, 5ul);
0079   BOOST_CHECK(coll.size() == 2ul);
0080   std::size_t val = 1ul;
0081   detail::pushBackOrInsertAtEnd(coll, val);
0082   BOOST_CHECK(coll.size() == 3ul);
0083 
0084   BOOST_CHECK(coll.contains(2ul));
0085   BOOST_CHECK(coll.contains(5ul));
0086   BOOST_CHECK(coll.contains(1ul));
0087 }
0088 
0089 BOOST_AUTO_TEST_SUITE_END()
0090 
0091 }  // namespace ActsTests