44        BEAST_EXPECT(u1 != u2);
 
   45        BEAST_EXPECT(u1 < u2);
 
   46        BEAST_EXPECT(u1 <= u2);
 
   47        BEAST_EXPECT(u2 <= u2);
 
   48        BEAST_EXPECT(u2 == u2);
 
   49        BEAST_EXPECT(u2 >= u2);
 
   50        BEAST_EXPECT(u3 >= u2);
 
   51        BEAST_EXPECT(u3 > u2);
 
   55        BEAST_EXPECT(hash(u1) == hash(u1));
 
   56        BEAST_EXPECT(hash(u2) == hash(u2));
 
   57        BEAST_EXPECT(hash(u3) == hash(u3));
 
   58        BEAST_EXPECT(hash(u1) != hash(u2));
 
   59        BEAST_EXPECT(hash(u1) != hash(u3));
 
   60        BEAST_EXPECT(hash(u2) != hash(u3));
 
 
  123        Issue const a1(c1, i1);
 
  124        Issue const a2(c2, i2);
 
  130            if (!BEAST_EXPECT(c.size() == 1))
 
  133            if (!BEAST_EXPECT(c.size() == 2))
 
  136            if (!BEAST_EXPECT(c.erase(
Issue(c1, i2)) == 0))
 
  138            if (!BEAST_EXPECT(c.erase(
Issue(c1, i1)) == 1))
 
  140            if (!BEAST_EXPECT(c.erase(
Issue(c2, i2)) == 1))
 
  142            if (!BEAST_EXPECT(c.empty()))
 
  150            if (!BEAST_EXPECT(c.size() == 1))
 
  153            if (!BEAST_EXPECT(c.size() == 2))
 
  156            if (!BEAST_EXPECT(c.erase(
Issue(c1, i2)) == 0))
 
  158            if (!BEAST_EXPECT(c.erase(
Issue(c1, i1)) == 1))
 
  160            if (!BEAST_EXPECT(c.erase(
Issue(c2, i2)) == 1))
 
  162            if (!BEAST_EXPECT(c.empty()))
 
  165#if STL_SET_HAS_EMPLACE 
  167            if (!BEAST_EXPECT(c.size() == 1))
 
  170            if (!BEAST_EXPECT(c.size() == 2))
 
 
  184        Issue const a1(c1, i1);
 
  185        Issue const a2(c2, i2);
 
  191            if (!BEAST_EXPECT(c.size() == 1))
 
  194            if (!BEAST_EXPECT(c.size() == 2))
 
  197            if (!BEAST_EXPECT(c.erase(
Issue(c1, i2)) == 0))
 
  199            if (!BEAST_EXPECT(c.erase(
Issue(c1, i1)) == 1))
 
  201            if (!BEAST_EXPECT(c.erase(
Issue(c2, i2)) == 1))
 
  203            if (!BEAST_EXPECT(c.empty()))
 
  211            if (!BEAST_EXPECT(c.size() == 1))
 
  214            if (!BEAST_EXPECT(c.size() == 2))
 
  217            if (!BEAST_EXPECT(c.erase(
Issue(c1, i2)) == 0))
 
  219            if (!BEAST_EXPECT(c.erase(
Issue(c1, i1)) == 1))
 
  221            if (!BEAST_EXPECT(c.erase(
Issue(c2, i2)) == 1))
 
  223            if (!BEAST_EXPECT(c.empty()))
 
 
  305        testcase(
"std::set <std::pair<Issue, Domain>>");
 
  306        testIssueDomainSet<std::set<std::pair<Issue, Domain>>>();
 
  308        testcase(
"std::set <std::pair<Issue, Domain>>");
 
  309        testIssueDomainSet<std::set<std::pair<Issue, Domain>>>();
 
  311        testcase(
"hash_set <std::pair<Issue, Domain>>");
 
  312        testIssueDomainSet<hash_set<std::pair<Issue, Domain>>>();
 
  314        testcase(
"hash_set <std::pair<Issue, Domain>>");
 
  315        testIssueDomainSet<hash_set<std::pair<Issue, Domain>>>();
 
 
  321        testcase(
"std::map <std::pair<Issue, Domain>, int>");
 
  322        testIssueDomainMap<std::map<std::pair<Issue, Domain>, 
int>>();
 
  324        testcase(
"std::map <std::pair<Issue, Domain>, int>");
 
  325        testIssueDomainMap<std::map<std::pair<Issue, Domain>, 
int>>();
 
  327#if XRPL_ASSETS_ENABLE_STD_HASH 
  328        testcase(
"hash_map <std::pair<Issue, Domain>, int>");
 
  329        testIssueDomainMap<hash_map<std::pair<Issue, Domain>, 
int>>();
 
  331        testcase(
"hash_map <std::pair<Issue, Domain>, int>");
 
  332        testIssueDomainMap<hash_map<std::pair<Issue, Domain>, 
int>>();
 
  334        testcase(
"hardened_hash_map <std::pair<Issue, Domain>, int>");
 
  335        testIssueDomainMap<hardened_hash_map<std::pair<Issue, Domain>, 
int>>();
 
  337        testcase(
"hardened_hash_map <std::pair<Issue, Domain>, int>");
 
  338        testIssueDomainMap<hardened_hash_map<std::pair<Issue, Domain>, 
int>>();
 
 
  346        testIssueSet<std::set<Issue>>();
 
  349        testIssueSet<std::set<Issue>>();
 
  351#if XRPL_ASSETS_ENABLE_STD_HASH 
  352        testcase(
"std::unordered_set <Issue>");
 
  353        testIssueSet<std::unordered_set<Issue>>();
 
  355        testcase(
"std::unordered_set <Issue>");
 
  356        testIssueSet<std::unordered_set<Issue>>();
 
  360        testIssueSet<hash_set<Issue>>();
 
  363        testIssueSet<hash_set<Issue>>();
 
 
  370        testIssueMap<std::map<Issue, int>>();
 
  373        testIssueMap<std::map<Issue, int>>();
 
  375#if XRPL_ASSETS_ENABLE_STD_HASH 
  376        testcase(
"std::unordered_map <Issue, int>");
 
  377        testIssueMap<std::unordered_map<Issue, int>>();
 
  379        testcase(
"std::unordered_map <Issue, int>");
 
  380        testIssueMap<std::unordered_map<Issue, int>>();
 
  383        testIssueMap<hash_map<Issue, int>>();
 
  386        testIssueMap<hash_map<Issue, int>>();
 
 
  425            BEAST_EXPECT(
Book(a2, a3, domain1) != 
Book(a2, a3, domain2));
 
  426            BEAST_EXPECT(
Book(a2, a3, domain1) < 
Book(a2, a3, domain2));
 
  427            BEAST_EXPECT(
Book(a2, a3, domain2) > 
Book(a2, a3, domain1));
 
  435            BEAST_EXPECT(
Book(a2, a3, domain1) == 
Book(a2, a3, domain1));
 
  436            BEAST_EXPECT(
Book(a2, a3, domain2) == 
Book(a2, a3, domain2));
 
  447            BEAST_EXPECT(
Book(a2, a3, domain1) <= 
Book(a2, a3, domain2));
 
  448            BEAST_EXPECT(
Book(a2, a3, domain2) >= 
Book(a2, a3, domain1));
 
  449            BEAST_EXPECT(
Book(a2, a3, domain1) >= 
Book(a2, a3, domain1));
 
  450            BEAST_EXPECT(
Book(a2, a3, domain2) <= 
Book(a2, a3, domain2));
 
  467            BEAST_EXPECT(
Book(a2, a3, domain1) <= 
Book(a2, a3, domain2));
 
  468            BEAST_EXPECT(
Book(a2, a3, domain2) >= 
Book(a2, a3, domain1));
 
  471            BEAST_EXPECT(
Book(a2, a3, domain1) >= 
Book(a2, a3, domain1));
 
  472            BEAST_EXPECT(
Book(a2, a3, domain1) <= 
Book(a2, a3, domain1));
 
  477            BEAST_EXPECT(
Book(a2, a3, domain1) < 
Book(a3, a4, domain2));
 
  478            BEAST_EXPECT(
Book(a3, a4, domain2) > 
Book(a2, a3, domain1));
 
  485            BEAST_EXPECT(
Book(a3, a4, domain2) == 
Book(a3, a4, domain2));
 
  488            BEAST_EXPECT(
Book(a2, a3, domain1) < 
Book(a3, a4, domain2));
 
  489            BEAST_EXPECT(
Book(a3, a4, domain2) > 
Book(a2, a3, domain1));
 
  549            hash(
Book(a1, a2, domain1)) == hash(
Book(a1, a2, domain1)));
 
  551            hash(
Book(a1, a3, domain1)) == hash(
Book(a1, a3, domain1)));
 
  553            hash(
Book(a1, a4, domain1)) == hash(
Book(a1, a4, domain1)));
 
  555            hash(
Book(a2, a3, domain1)) == hash(
Book(a2, a3, domain1)));
 
  557            hash(
Book(a2, a4, domain1)) == hash(
Book(a2, a4, domain1)));
 
  559            hash(
Book(a3, a4, domain1)) == hash(
Book(a3, a4, domain1)));
 
  580            hash(
Book(a1, a2, domain1)) != hash(
Book(a1, a3, domain1)));
 
  582            hash(
Book(a1, a2, domain1)) != hash(
Book(a1, a4, domain1)));
 
  584            hash(
Book(a2, a3, domain1)) != hash(
Book(a2, a4, domain1)));
 
  586            hash(
Book(a1, a2, domain1)) != hash(
Book(a2, a3, domain1)));
 
  588            hash(
Book(a2, a4, domain1)) != hash(
Book(a3, a4, domain1)));
 
  590            hash(
Book(a3, a4, domain1)) != hash(
Book(a1, a4, domain1)));
 
  594            hash(
Book(a1, a2, domain1)) != hash(
Book(a1, a2, domain2)));
 
  596            hash(
Book(a1, a3, domain1)) != hash(
Book(a1, a3, domain2)));
 
  598            hash(
Book(a1, a4, domain1)) != hash(
Book(a1, a4, domain2)));
 
  600            hash(
Book(a2, a3, domain1)) != hash(
Book(a2, a3, domain2)));
 
  602            hash(
Book(a2, a4, domain1)) != hash(
Book(a2, a4, domain2)));
 
  604            hash(
Book(a3, a4, domain1)) != hash(
Book(a3, a4, domain2)));
 
 
  617        Issue const a1(c1, i1);
 
  618        Issue const a2(c2, i2);
 
  625        Book const b1_d1(a1, a2, domain1);
 
  626        Book const b2_d1(a2, a1, domain1);
 
  627        Book const b1_d2(a1, a2, domain2);
 
  628        Book const b2_d2(a2, a1, domain2);
 
  634            if (!BEAST_EXPECT(c.size() == 1))
 
  637            if (!BEAST_EXPECT(c.size() == 2))
 
  646            if (!BEAST_EXPECT(c.empty()))
 
  654            if (!BEAST_EXPECT(c.size() == 1))
 
  657            if (!BEAST_EXPECT(c.size() == 2))
 
  666            if (!BEAST_EXPECT(c.empty()))
 
  669#if STL_SET_HAS_EMPLACE 
  671            if (!BEAST_EXPECT(c.size() == 1))
 
  674            if (!BEAST_EXPECT(c.size() == 2))
 
  683            if (!BEAST_EXPECT(c.size() == 1))
 
  686            if (!BEAST_EXPECT(c.size() == 2))
 
  689            if (!BEAST_EXPECT(c.size() == 3))
 
  692            if (!BEAST_EXPECT(c.size() == 4))
 
  696            if (!BEAST_EXPECT(c.erase(
Book(a2, a2, domain1)) == 0))
 
  699            if (!BEAST_EXPECT(c.erase(
Book(a1, a2, domain1)) == 1))
 
  701            if (!BEAST_EXPECT(c.erase(
Book(a2, a1, domain1)) == 1))
 
  703            if (!BEAST_EXPECT(c.size() == 2))
 
  706            if (!BEAST_EXPECT(c.erase(
Book(a1, a2, domain2)) == 1))
 
  708            if (!BEAST_EXPECT(c.erase(
Book(a2, a1, domain2)) == 1))
 
  710            if (!BEAST_EXPECT(c.empty()))
 
  721            if (!BEAST_EXPECT(c.size() == 4))
 
  728            if (!BEAST_EXPECT(c.size() == 2))
 
  731            if (!BEAST_EXPECT(c.erase(
Book(a1, a2, domain1)) == 1))
 
  733            if (!BEAST_EXPECT(c.erase(
Book(a2, a1, domain1)) == 1))
 
  735            if (!BEAST_EXPECT(c.empty()))
 
 
  748        Issue const a1(c1, i1);
 
  749        Issue const a2(c2, i2);
 
  756        Book const b1_d1(a1, a2, domain1);
 
  757        Book const b2_d1(a2, a1, domain1);
 
  758        Book const b1_d2(a1, a2, domain2);
 
  759        Book const b2_d2(a2, a1, domain2);
 
  769            if (!BEAST_EXPECT(c.size() == 1))
 
  773            if (!BEAST_EXPECT(c.size() == 2))
 
  782            if (!BEAST_EXPECT(c.empty()))
 
  791            if (!BEAST_EXPECT(c.size() == 1))
 
  795            if (!BEAST_EXPECT(c.size() == 2))
 
  804            if (!BEAST_EXPECT(c.empty()))
 
  812            if (!BEAST_EXPECT(c.size() == 1))
 
  815            if (!BEAST_EXPECT(c.size() == 2))
 
  818            if (!BEAST_EXPECT(c.size() == 3))
 
  821            if (!BEAST_EXPECT(c.size() == 4))
 
  825            if (!BEAST_EXPECT(c.erase(
Book(a2, a2, domain1)) == 0))
 
  828            if (!BEAST_EXPECT(c.erase(
Book(a1, a2, domain1)) == 1))
 
  830            if (!BEAST_EXPECT(c.erase(
Book(a2, a1, domain1)) == 1))
 
  832            if (!BEAST_EXPECT(c.size() == 2))
 
  835            if (!BEAST_EXPECT(c.erase(
Book(a1, a2, domain2)) == 1))
 
  837            if (!BEAST_EXPECT(c.erase(
Book(a2, a1, domain2)) == 1))
 
  839            if (!BEAST_EXPECT(c.empty()))
 
  850            if (!BEAST_EXPECT(c.size() == 4))
 
  854            if (!BEAST_EXPECT(c.erase(
Book(a1, a1, domain1)) == 0))
 
  856            if (!BEAST_EXPECT(c.erase(
Book(a2, a2, domain2)) == 0))
 
  863            if (!BEAST_EXPECT(c.size() == 2))
 
  866            if (!BEAST_EXPECT(c.erase(
Book(a1, a2, domain1)) == 1))
 
  868            if (!BEAST_EXPECT(c.erase(
Book(a2, a1, domain1)) == 1))
 
  870            if (!BEAST_EXPECT(c.empty()))
 
 
  879        testBookSet<std::set<Book>>();
 
  882        testBookSet<std::set<Book>>();
 
  884#if XRPL_ASSETS_ENABLE_STD_HASH 
  885        testcase(
"std::unordered_set <Book>");
 
  886        testBookSet<std::unordered_set<Book>>();
 
  888        testcase(
"std::unordered_set <Book>");
 
  889        testBookSet<std::unordered_set<Book>>();
 
  893        testBookSet<hash_set<Book>>();
 
  896        testBookSet<hash_set<Book>>();
 
 
  903        testBookMap<std::map<Book, int>>();
 
  906        testBookMap<std::map<Book, int>>();
 
  908#if XRPL_ASSETS_ENABLE_STD_HASH 
  909        testcase(
"std::unordered_map <Book, int>");
 
  910        testBookMap<std::unordered_map<Book, int>>();
 
  912        testcase(
"std::unordered_map <Book, int>");
 
  913        testBookMap<std::unordered_map<Book, int>>();
 
  916        testBookMap<hash_map<Book, int>>();
 
  919        testBookMap<hash_map<Book, int>>();