QMCPACK
EstimatorManagerInputTest.cpp
Go to the documentation of this file.
1 //////////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source License.
3 // See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2024 QMCPACK developers.
6 //
7 // File developed by: Peter Doak, doakpw@ornl.gov, Oak Ridge National Lab
8 //
9 // File refactored from: Refactored from test_manager.cpp
10 //////////////////////////////////////////////////////////////////////////////////////
12 
13 #include "catch.hpp"
14 
16 #include "ValidSpinDensityInput.h"
19 
20 namespace qmcplusplus
21 {
22 namespace testing
23 {
25 
27 {
28  const int max_node_recurse = 3;
30  estimators_doc.newDoc("Estimators");
31  {
34  REQUIRE(okay);
35  xmlNodePtr node = doc.getRoot();
36  estimators_doc.addChild(xmlCopyNode(node, max_node_recurse));
37  }
38 
39  return estimators_doc;
40 }
41 
43 {
44  const int max_node_recurse = 3;
46  estimators_doc.newDoc("Estimators");
47  {
50  bool okay = doc.parseFromString(Input::xml[0]);
51  REQUIRE(okay);
52  xmlNodePtr node = doc.getRoot();
53  estimators_doc.addChild(xmlCopyNode(node, max_node_recurse));
54  }
55  {
58  REQUIRE(okay);
59  xmlNodePtr node = doc.getRoot();
60  estimators_doc.addChild(xmlCopyNode(node, max_node_recurse));
61  }
62  for (auto& input_xml : scalar_input::xml)
63  {
65  bool okay = doc.parseFromString(input_xml);
66  REQUIRE(okay);
67  xmlNodePtr node = doc.getRoot();
68  estimators_doc.addChild(xmlCopyNode(node, max_node_recurse));
69  }
70 
71  return estimators_doc;
72 }
73 
75 {
76  const int max_node_recurse = 3;
78  estimators_doc.newDoc("Estimators");
79  {
82  bool okay = doc.parseFromString(Input::xml[0]);
83  REQUIRE(okay);
84  xmlNodePtr node = doc.getRoot();
85  estimators_doc.addChild(xmlCopyNode(node, max_node_recurse));
86  }
87  {
90  REQUIRE(okay);
91  xmlNodePtr node = doc.getRoot();
92  estimators_doc.addChild(xmlCopyNode(node, max_node_recurse));
93  }
94  {
97  REQUIRE(okay);
98  xmlNodePtr node = doc.getRoot();
99  estimators_doc.addChild(xmlCopyNode(node, max_node_recurse));
100  }
101 
102  return estimators_doc;
103 }
104 
105 
106 } // namespace testing
107 } // namespace qmcplusplus
class that handles xmlDoc
Definition: Libxml2Doc.h:76
helper functions for EinsplineSetBuilder
Definition: Configuration.h:43
if(!okay) throw std xmlNodePtr node
Libxml2Document createEstimatorManagerNewInputXML()
void newDoc(const std::string &rootName)
Definition: Libxml2Doc.cpp:93
Libxml2Document createEstimatorManagerNewVMCInputXML()
xmlNodePtr getRoot()
Definition: Libxml2Doc.h:88
Libxml2Document createEstimatorManagerNewGlobalInputXML()
REQUIRE(std::filesystem::exists(filename))
constexpr std::array< std::string_view, 2 > valid_momentum_distribution_input_sections
Libxml2Document estimators_doc
bool parseFromString(const std::string_view data)
Definition: Libxml2Doc.cpp:204
void addChild(xmlNodePtr newnode)
Definition: Libxml2Doc.cpp:111
static constexpr std::array< std::string_view, 5 > xml