Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-25 02:29:29

0001 #include "DataFormats/Provenance/interface/Parentage.h"
0002 #include "DataFormats/Provenance/interface/BranchID.h"
0003 #include "FWCore/Utilities/interface/Exception.h"
0004 #include <cassert>
0005 #include <iostream>
0006 
0007 #include "catch.hpp"
0008 
0009 TEST_CASE("test Parentage", "[Parentage]") {
0010   edm::Parentage ed1;
0011   CHECK(ed1 == ed1);
0012   edm::Parentage ed2;
0013   CHECK(ed1 == ed2);
0014 
0015   ed2.setParents(std::vector<edm::BranchID>(1));
0016   edm::Parentage ed3;
0017   ed3.setParents(std::vector<edm::BranchID>(2));
0018 
0019   edm::ParentageID id1 = ed1.id();
0020   edm::ParentageID id2 = ed2.id();
0021   edm::ParentageID id3 = ed3.id();
0022 
0023   CHECK(id1 != id2);
0024   CHECK(ed1 != ed2);
0025   CHECK(id1 != id3);
0026   CHECK(ed1 != ed3);
0027   CHECK(id2 != id3);
0028   CHECK(ed2 != ed3);
0029 
0030   edm::Parentage ed4;
0031   ed4.setParents(std::vector<edm::BranchID>(1));
0032   edm::ParentageID id4 = ed4.id();
0033   CHECK(ed4 == ed2);
0034   CHECK(id4 == id2);
0035 
0036   SECTION("ParentageID unchanging") {
0037     {
0038       const std::string idString = "d41d8cd98f00b204e9800998ecf8427e";
0039       std::string toString;
0040       id1.toString(toString);
0041       CHECK(toString == idString);
0042     }
0043 
0044     {
0045       const std::string idString = "2e5751b7cfd7f053cd29e946fb2649a4";
0046       std::string toString;
0047       id2.toString(toString);
0048       CHECK(toString == idString);
0049     }
0050     {
0051       const std::string idString = "20e13ca818af45e50e369e50db3914b8";
0052       std::string toString;
0053       id3.toString(toString);
0054       CHECK(toString == idString);
0055     }
0056     {
0057       edm::Parentage ed_mult;
0058       ed_mult.setParents(std::vector<edm::BranchID>({edm::BranchID(1), edm::BranchID(2), edm::BranchID(3)}));
0059       auto id_mult = ed_mult.id();
0060       const std::string idString = "6a5cf1697e50ec8e8dbe7a28ccad348b";
0061       std::string toString;
0062       id_mult.toString(toString);
0063       CHECK(toString == idString);
0064     }
0065   }
0066 }