Ignore:
Timestamp:
2018-07-05T21:41:24Z (6 years ago)
Author:
Dzejrou <dzejrou@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
cf51eae
Parents:
46c7668
git-author:
Dzejrou <dzejrou@…> (2018-05-14 23:46:21)
git-committer:
Dzejrou <dzejrou@…> (2018-07-05 21:41:24)
Message:

cpp: added unordered_set tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/cpp/include/internal/test/tests.hpp

    r46c7668 r323ae805  
    207207            void test_emplace_insert();
    208208            void test_multi();
    209 
    210             template<class Iterator, class Container>
    211             void test_contains(const char* tname, Iterator first,
    212                                Iterator last, const Container& cont)
    213             {
    214                 if (!assert_contains(first, last, cont))
    215                 {
    216                     report(false, tname);
    217                     ++failed_;
    218                     ok_ = false;
    219                 }
    220                 else
    221                 {
    222                     report(true, tname);
    223                     ++succeeded_;
    224                 }
    225             }
    226 
    227             template<class Iterator1, class Iterator2, class Container>
    228             void test_contains_multi(const char* tname, Iterator1 first1,
    229                                Iterator1 last1, Iterator2 first2,
    230                                const Container& cont)
    231             {
    232                 if (!assert_contains_multi(first1, last1, first2, cont))
    233                 {
    234                     report(false, tname);
    235                     ++failed_;
    236                     ok_ = false;
    237                 }
    238                 else
    239                 {
    240                     report(true, tname);
    241                     ++succeeded_;
    242                 }
    243             }
    244 
    245             template<class Iterator, class Container>
    246             bool assert_contains(Iterator first, Iterator last, const Container& cont)
    247             {
    248                 while (first != last)
    249                 {
    250                     if (cont.find(*first++) == cont.end())
    251                         return false;
    252                 }
    253 
    254                 return true;
    255             }
    256 
    257             template<class Iterator1, class Iterator2, class Container>
    258             bool assert_contains_multi(Iterator1 first1, Iterator1 last1,
    259                                        Iterator2 first2, const Container& cont)
    260             {
    261                 while (first1 != last1)
    262                 {
    263                     if (cont.count(*first1++) != *first2++)
    264                         return false;
    265                 }
    266 
    267                 return true;
    268             }
     209    };
     210
     211    class unordered_set_test: public test_suite
     212    {
     213        public:
     214            bool run(bool) override;
     215            const char* name() override;
     216
     217        private:
     218            void test_constructors_and_assignment();
     219            void test_emplace_insert();
     220            void test_multi();
    269221    };
    270222}
Note: See TracChangeset for help on using the changeset viewer.