1#ifndef POLYNOMIAL_PARSER_TESTER_HPP
2#define POLYNOMIAL_PARSER_TESTER_HPP
4#include <gtest/gtest.h>
21 std::function<double(
double)> result;
26 for (
double x : {-2.0, -1.0, 0.0, 1.0, 2.0}) {
27 double expected_value = expected(x);
28 double result_value = result(x);
29 EXPECT_DOUBLE_EQ(result_value, expected_value);
39 void testParse(
const std::string& input,
const std::function<
double(
double)>& expected) {
41 std::function<double(
double)> result = parser.
parse();
43 for (
double x : {-2.0, -1.0, 0.0, 1.0, 2.0}) {
44 double expected_value = expected(x);
45 double result_value = result(x);
46 EXPECT_DOUBLE_EQ(result_value, expected_value);
Test fixture class for PolynomialParser unit tests.
Definition polynomial_parser_tester.hpp:12
void testParseTokenAsPolyTerm(const std::string &input, const std::function< double(double)> &expected)
Test the parseTokenAsPolyTerm method of PolynomialParser.
Definition polynomial_parser_tester.hpp:20
void testParse(const std::string &input, const std::function< double(double)> &expected)
Test the parse method of PolynomialParser.
Definition polynomial_parser_tester.hpp:39
Parser class for polynomial functions.
Definition function_parser.hpp:110
std::function< double(double)> parse() override
Parse the polynomial function string.
Definition function_parser.cpp:132
static bool parseTokenAsPolyTerm(const std::string &raw_token, std::function< double(double)> &out_term)
Helper static method to parse a token as a polynomial term.
Definition function_parser.cpp:80
Function parser classes for parsing mathematical functions from strings.