1 // { dg-do run { target c++11 } } 2 3 // 2010-03-25 Paolo Carlini <paolo.carlini@oracle.com> 4 5 // Copyright (C) 2010-2018 Free Software Foundation, Inc. 6 // 7 // This file is part of the GNU ISO C++ Library. This library is free 8 // software; you can redistribute it and/or modify it under the 9 // terms of the GNU General Public License as published by the 10 // Free Software Foundation; either version 3, or (at your option) 11 // any later version. 12 // 13 // This library is distributed in the hope that it will be useful, 14 // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 // GNU General Public License for more details. 17 // 18 // You should have received a copy of the GNU General Public License along 19 // with this library; see the file COPYING3. If not see 20 // <http://www.gnu.org/licenses/>. 21 22 #include <unordered_set> 23 #include <testsuite_hooks.h> 24 test01()25void test01() 26 { 27 std::unordered_set<int> us1, us2; 28 VERIFY( us1 == us2 ); 29 VERIFY( !(us1 != us2) ); 30 31 us1.insert(1); 32 us2.insert(1); 33 VERIFY( us1 == us2 ); 34 VERIFY( !(us1 != us2) ); 35 36 us1.insert(2); 37 us2.insert(2); 38 VERIFY( us1 == us2 ); 39 VERIFY( !(us1 != us2) ); 40 41 us1.insert(1); 42 us2.insert(1); 43 VERIFY( us1 == us2 ); 44 VERIFY( !(us1 != us2) ); 45 46 us1.insert(3); 47 VERIFY( us1 != us2 ); 48 VERIFY( !(us1 == us2) ); 49 50 us2.insert(3); 51 VERIFY( (us1 == us2) ); 52 VERIFY( !(us1 != us2) ); 53 54 us2.clear(); 55 VERIFY( us1 != us2 ); 56 VERIFY( !(us1 == us2) ); 57 58 us1.clear(); 59 VERIFY( us1 == us2 ); 60 VERIFY( !(us1 != us2) ); 61 62 us1.insert(1); 63 us2.insert(2); 64 VERIFY( us1 != us2 ); 65 VERIFY( !(us1 == us2) ); 66 67 us1.insert(2); 68 us2.insert(1); 69 VERIFY( us1 == us2 ); 70 VERIFY( !(us1 != us2) ); 71 72 us1.insert(3); 73 us2.insert(4); 74 VERIFY( us1 != us2 ); 75 VERIFY( !(us1 == us2) ); 76 77 us1.insert(4); 78 VERIFY( us1 != us2 ); 79 VERIFY( !(us1 == us2) ); 80 81 us2.insert(3); 82 VERIFY( us1 == us2 ); 83 VERIFY( !(us1 != us2) ); 84 85 us1.insert(1); 86 us2.insert(1); 87 VERIFY( us1 == us2 ); 88 VERIFY( !(us1 != us2) ); 89 90 us1.insert(4); 91 us2.insert(4); 92 VERIFY( us1 == us2 ); 93 VERIFY( !(us1 != us2) ); 94 95 const std::unordered_set<int> cus1(us1), cus2(us2); 96 VERIFY( cus1 == cus2 ); 97 VERIFY( !(cus1 != cus2) ); 98 VERIFY( cus1 == us2 ); 99 VERIFY( !(us1 != cus2) ); 100 } 101 main()102int main() 103 { 104 test01(); 105 return 0; 106 } 107