Alamo
test.cc
Go to the documentation of this file.
1#include <stdlib.h>
2
3#include "Set/Matrix4.H"
4#include "Util/Util.H"
5
7#include "Test/Set/Matrix4.H"
8
9#include "Operator/Elastic.H"
10
13
26
28
29#include "Unit/Test.H"
30
31int main (int argc, char* argv[])
32{
33 Util::Initialize(argc, argv);
34
35 int failed = 0;
36
37 Util::globalprefix = " │ ";
38
39
40 #define MODELTEST(TYPE) \
41 Util::Test::Message(#TYPE); \
42 { \
43 int subfailed = 0; \
44 subfailed += Util::Test::SubMessage("PODTest", TYPE::PODTest<TYPE>(true)); \
45 subfailed += Util::Test::SubMessage("ArithmeticTest", TYPE::ArithmeticTest<TYPE>(true)); \
46 subfailed += Util::Test::SubMessage("DerivativeTest1", TYPE::DerivativeTest1<TYPE>(true)); \
47 subfailed += Util::Test::SubMessage("DerivativeTest2", TYPE::DerivativeTest2<TYPE>(true)); \
48 if (TYPE::kinvar == Model::Solid::KinematicVariable::F) \
49 { \
50 subfailed += Util::Test::SubMessage("MaterialFrameIndifference", TYPE::MaterialFrameIndifference<TYPE>(true)); \
51 } \
52 failed += Util::Test::SubFinalMessage(subfailed); \
53 }
66
67
73
74 Util::Test::Message("Numeric::Interpolator<Linear>");
75 {
76 int subfailed = 0;
78 subfailed += Util::Test::SubMessage("Match",test.Match(0));
79 failed += Util::Test::SubFinalMessage(subfailed);
80 }
81
82 Util::Test::Message("Numeric::Stencil test");
83 {
84 int subfailed = 0;
86 test.Define(32);
87 // first order
88 subfailed += Util::Test::SubMessage("1-0-0",test.Derivative<1,0,0>(0));
89 subfailed += Util::Test::SubMessage("0-1-0",test.Derivative<0,1,0>(0));
90 // second order
91 subfailed += Util::Test::SubMessage("2-0-0",test.Derivative<2,0,0>(0));
92 subfailed += Util::Test::SubMessage("0-2-0",test.Derivative<0,2,0>(0));
93 subfailed += Util::Test::SubMessage("0-0-1",test.Derivative<0,2,0>(0));
94 subfailed += Util::Test::SubMessage("1-1-0",test.Derivative<1,1,0>(0));
95 // fourth order
96 subfailed += Util::Test::SubMessage("3-1-0",test.Derivative<3,1,0>(0));
97 subfailed += Util::Test::SubMessage("1-3-0",test.Derivative<1,3,0>(0));
98 subfailed += Util::Test::SubMessage("2-2-0",test.Derivative<2,2,0>(0));
99 subfailed += Util::Test::SubMessage("4-0-0",test.Derivative<4,0,0>(0));
100 subfailed += Util::Test::SubMessage("0-4-0",test.Derivative<0,4,0>(0));
101#if AMREX_SPACEDIM>2
102 // first order
103 subfailed += Util::Test::SubMessage("0-0-1",test.Derivative<0,0,1>(0));
104 // second order
105 subfailed += Util::Test::SubMessage("0-0-2",test.Derivative<0,0,2>(0));
106 subfailed += Util::Test::SubMessage("1-0-1",test.Derivative<1,0,1>(0));
107 subfailed += Util::Test::SubMessage("0-1-1",test.Derivative<0,1,1>(0));
108 // fourth order
109 subfailed += Util::Test::SubMessage("0-0-4",test.Derivative<0,0,4>(0));
110 subfailed += Util::Test::SubMessage("0-1-3",test.Derivative<0,1,3>(0));
111 subfailed += Util::Test::SubMessage("0-3-1",test.Derivative<0,3,1>(0));
112 subfailed += Util::Test::SubMessage("3-0-1",test.Derivative<3,0,1>(0));
113 subfailed += Util::Test::SubMessage("1-0-3",test.Derivative<1,0,3>(0));
114 subfailed += Util::Test::SubMessage("0-2-2",test.Derivative<0,2,2>(0));
115 subfailed += Util::Test::SubMessage("2-0-2",test.Derivative<2,0,2>(0));
116 subfailed += Util::Test::SubMessage("2-1-1",test.Derivative<2,1,1>(0));
117 subfailed += Util::Test::SubMessage("1-2-1",test.Derivative<1,2,1>(0));
118 subfailed += Util::Test::SubMessage("1-1-2",test.Derivative<1,1,2>(0));
119#endif
120 failed += Util::Test::SubFinalMessage(subfailed);
121 }
122
123 Util::Test::Message("Solver::Nonlocal::Riemann::Roe test");
124 {
125 int subfailed = 0;
127 failed += Util::Test::SubFinalMessage(subfailed);
128 }
129
130 Util::Test::Message("Unit test");
131 {
132 int subfailed = 0;
133 subfailed += Util::Test::SubMessage("Equivalence", UnitTest::Equivalence(1));
134 failed += subfailed;
135 }
136
137
139 Util::Message(INFO,failed," tests failed");
140
142 return failed;
143}
#define INFO
Definition Util.H:23
Isotropic implements the following elastic model.
Definition Laplacian.H:27
static int Test()
Definition Roe.H:255
bool Derivative(int verbose, std::string plotfile="")
Definition Stencil.H:58
void Define(amrex::IntVect _ncells)
Definition Stencil.H:22
static int Test(int verbose=1)
Definition Matrix4.H:106
int Equivalence(int verbose=0)
Definition Test.H:10
int Message(std::string testname)
Definition Util.cpp:298
int SubMessage(std::string testname, int failed)
Definition Util.cpp:325
int SubFinalMessage(int failed)
Definition Util.cpp:363
std::string globalprefix
Definition Util.cpp:22
void Finalize()
Definition Util.cpp:231
void Initialize()
Definition Util.cpp:130
void Message(std::string file, std::string func, int line, Args const &... args)
Definition Util.H:128
int main(int argc, char *argv[])
Definition test.cc:31
#define MODELTEST(TYPE)