30#include "gtest/gtest.h"
36 class SumErrSqExpressionTest :
public ::testing::Test {
39 SumErrSqExpressionTest() {
43 virtual ~SumErrSqExpressionTest() {
50 virtual void SetUp() {
55 virtual void TearDown() {
62 TEST_F(SumErrSqExpressionTest, EvaluateSumErrSqExpression) {
65 double expected = (3.087242557177229e-04*3.087242557177229e-04 +
66 3.127445619624299e-04*3.127445619624299e-04 +
67 3.185324887508158e-04*3.185324887508158e-04) / 3.0;
68 expected =
sqrt(expected);
73 funcs.insert(std::pair<std::string, client::function::type>
74 (
"sumErrSq", errsumsq));
76 std::string testexpr =
"sumErrSq(\"resources/measurement_test.dat\", \"rms_x\", \"resources/test.stat\")";
77 const std::unique_ptr<Expression>
e(
new Expression(testexpr, funcs));
80 result =
e->evaluate(vars);
84 ASSERT_NEAR(expected, std::get<0>(result), 1e-6);
85 ASSERT_TRUE(std::get<1>(result));
90int main(
int argc,
char **argv) {
91 ::testing::InitGoogleTest(&argc, argv);
92 return RUN_ALL_TESTS();
Tps< T > sqrt(const Tps< T > &x)
Square root.
std::map< std::string, client::function::type > functionDictionary_t
std::map< std::string, double > variableDictionary_t
int main(int argc, char **argv)
std::tuple< double, bool > Result_t
constexpr double e
The value of.
std::function< std::tuple< double, bool >(arguments_t)> type