]>
git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/23_containers/unordered_map/operators/1.cc
1 // { dg-do run { target c++11 } }
3 // 2010-03-25 Paolo Carlini <paolo.carlini@oracle.com>
5 // Copyright (C) 2010-2021 Free Software Foundation, Inc.
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)
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.
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/>.
22 #include <unordered_map>
23 #include <testsuite_hooks.h>
27 typedef std::pair
<const int, int> Pair
;
28 std::unordered_map
<int, int> um1
, um2
;
30 VERIFY( !(um1
!= um2
) );
32 um1
.insert(Pair(1, -1));
33 um2
.insert(Pair(1, -1));
35 VERIFY( !(um1
!= um2
) );
37 um1
.insert(Pair(2, -1));
38 um2
.insert(Pair(2, -1));
40 VERIFY( !(um1
!= um2
) );
42 um1
.insert(Pair(1, -1));
43 um2
.insert(Pair(1, -1));
45 VERIFY( !(um1
!= um2
) );
47 um1
.insert(Pair(3, -3));
49 VERIFY( !(um1
== um2
) );
51 um2
.insert(Pair(3, -3));
52 VERIFY( (um1
== um2
) );
53 VERIFY( !(um1
!= um2
) );
57 VERIFY( !(um1
== um2
) );
61 VERIFY( !(um1
!= um2
) );
63 um1
.insert(Pair(1, -1));
64 um2
.insert(Pair(2, -2));
66 VERIFY( !(um1
== um2
) );
68 um1
.insert(Pair(2, -2));
69 um2
.insert(Pair(1, -1));
71 VERIFY( !(um1
!= um2
) );
73 um1
.insert(Pair(3, -3));
74 um2
.insert(Pair(4, -4));
76 VERIFY( !(um1
== um2
) );
78 um1
.insert(Pair(4, -4));
80 VERIFY( !(um1
== um2
) );
82 um2
.insert(Pair(3, -3));
84 VERIFY( !(um1
!= um2
) );
86 um1
.insert(Pair(1, -1));
87 um2
.insert(Pair(1, -1));
89 VERIFY( !(um1
!= um2
) );
91 um1
.insert(Pair(4, -4));
92 um2
.insert(Pair(4, -4));
94 VERIFY( !(um1
!= um2
) );
99 VERIFY( !(um1
!= um2
) );
101 um1
.insert(Pair(1, -1));
102 um2
.insert(Pair(1, -2));
103 VERIFY( um1
!= um2
);
104 VERIFY( !(um1
== um2
) );
108 VERIFY( um1
== um2
);
109 VERIFY( !(um1
!= um2
) );
111 um1
.insert(Pair(1, -1));
112 um2
.insert(Pair(1, -1));
113 VERIFY( um1
== um2
);
114 VERIFY( !(um1
!= um2
) );
116 um1
.insert(Pair(2, -2));
117 um2
.insert(Pair(2, -3));
118 VERIFY( um1
!= um2
);
119 VERIFY( !(um1
== um2
) );
121 um1
.insert(Pair(2, -3));
122 um2
.insert(Pair(2, -2));
123 VERIFY( um1
!= um2
);
124 VERIFY( !(um1
== um2
) );
128 VERIFY( um1
== um2
);
129 VERIFY( !(um1
!= um2
) );
131 um1
.insert(Pair(2, -2));
132 um2
.insert(Pair(2, -3));
133 VERIFY( um1
!= um2
);
134 VERIFY( !(um1
== um2
) );
136 um1
.insert(Pair(1, -1));
137 um2
.insert(Pair(1, -1));
138 VERIFY( um1
!= um2
);
139 VERIFY( !(um1
== um2
) );
141 um1
.insert(Pair(2, -3));
142 um2
.insert(Pair(2, -2));
143 VERIFY( um1
!= um2
);
144 VERIFY( !(um1
== um2
) );
146 um1
.insert(Pair(1, -1));
147 um2
.insert(Pair(1, -1));
148 VERIFY( um1
!= um2
);
149 VERIFY( !(um1
== um2
) );
151 um1
.insert(Pair(1, -1));
152 um2
.insert(Pair(1, -2));
153 VERIFY( um1
!= um2
);
154 VERIFY( !(um1
== um2
) );
156 const std::unordered_map
<int, int> cum1(um1
), cum2(um2
);
157 VERIFY( cum1
!= cum2
);
158 VERIFY( !(cum1
== cum2
) );
159 VERIFY( cum1
!= um2
);
160 VERIFY( !(um1
== cum2
) );