Skip to content

Commit

Permalink
Rename parseFintamath to parseExpr
Browse files Browse the repository at this point in the history
  • Loading branch information
fintarin committed Feb 18, 2024
1 parent 3210d6e commit 0d46686
Show file tree
Hide file tree
Showing 5 changed files with 144 additions and 143 deletions.
2 changes: 1 addition & 1 deletion include/fintamath/expressions/Expression.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ class Expression final : public IExpressionCRTP<Expression> {

friend std::unique_ptr<IMathObject> detail::makeExpr(const IFunction &func, ArgumentPtrVector args);

friend std::unique_ptr<IMathObject> parseFintamath(const std::string &str);
friend std::unique_ptr<IMathObject> parseExpr(const std::string &str);

friend Expression approximate(const Expression &rhs, unsigned precision);

Expand Down
2 changes: 1 addition & 1 deletion include/fintamath/expressions/ExpressionParser.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@

namespace fintamath {

std::unique_ptr<IMathObject> parseFintamath(const std::string &str);
std::unique_ptr<IMathObject> parseExpr(const std::string &str);

}
4 changes: 2 additions & 2 deletions src/fintamath/expressions/Expression.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ using namespace detail;
Expression::Expression() : child(Integer(0).clone()) {
}

Expression::Expression(const std::string &str) : child(parseFintamath(str)) {
Expression::Expression(const std::string &str) : child(parseExpr(str)) {
}

Expression::Expression(const ArgumentPtr &obj) : child(compress(obj)) {
Expand Down Expand Up @@ -161,7 +161,7 @@ void Expression::updateStringMutable() const {
stringCached = child->toString();
}

std::unique_ptr<IMathObject> parseFintamath(const std::string &str) {
std::unique_ptr<IMathObject> parseExpr(const std::string &str) {
try {
auto tokens = Tokenizer::tokenize(str);
auto terms = Expression::tokensToTerms(tokens);
Expand Down
278 changes: 139 additions & 139 deletions tests/src/expressions/ExpressionParserTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,151 +6,151 @@

using namespace fintamath;

TEST(ExpressionParserTests, parseFintamathTest) {
EXPECT_EQ(parseFintamath("36/(8-6)3")->toString(), "36/(8 - 6) 3");
EXPECT_EQ(parseFintamath("2%")->toString(), "2/100");
EXPECT_EQ(parseFintamath("2.35%")->toString(), "(47/20)/100");
EXPECT_EQ(parseFintamath("1100*4.76%")->toString(), "1100 (119/25)/100");
EXPECT_EQ(parseFintamath("2.35%%%%")->toString(), "((((47/20)/100)/100)/100)/100");
EXPECT_EQ(parseFintamath("1100*4.76%1100*4.76%")->toString(), "1100 (119/25)/100*1100 (119/25)/100");
EXPECT_EQ(parseFintamath("((((((5)/(8)))/(1)))/(((((((9)/(4)))/(0)))/(5))))")->toString(), "((5/8)/1)/(((9/4)/0)/5)");
EXPECT_EQ(parseFintamath("2%a")->toString(), "2/100 a");
EXPECT_EQ(parseFintamath("2!!!!a!!!")->toString(), "2!!!! a!!!");
EXPECT_EQ(parseFintamath("sin a")->toString(), "sin(a)");
EXPECT_EQ(parseFintamath("s i n a")->toString(), "s i n a");
EXPECT_EQ(parseFintamath("a(2)")->toString(), "a 2");
EXPECT_EQ(parseFintamath("(2)a")->toString(), "2 a");
EXPECT_EQ(parseFintamath("Ea")->toString(), "E a");
EXPECT_EQ(parseFintamath("aE")->toString(), "a E");
EXPECT_EQ(parseFintamath("aEE")->toString(), "a E E");
EXPECT_EQ(parseFintamath("EEa")->toString(), "E E a");
EXPECT_EQ(parseFintamath("x123")->toString(), "x 123");
EXPECT_EQ(parseFintamath("x^y!")->toString(), "(x^y)!");
EXPECT_EQ(parseFintamath("lnE")->toString(), "ln(E)");
EXPECT_EQ(parseFintamath("lncossinE")->toString(), "ln(cos(sin(E)))");
EXPECT_EQ(parseFintamath("ln cos sin a")->toString(), "ln(cos(sin(a)))");
EXPECT_EQ(parseFintamath("log((Pi),(E)^((Pi)))")->toString(), "log(Pi, E^Pi)");
EXPECT_EQ(parseFintamath("lb100")->toString(), "log(2, 100)");
EXPECT_EQ(parseFintamath("log(4/9, 2/3)")->toString(), "log(4/9, 2/3)");
EXPECT_EQ(parseFintamath("60deg")->toString(), "60 Pi/180");
EXPECT_EQ(parseFintamath("adeg")->toString(), "a Pi/180");
TEST(ExpressionParserTests, parseExprTest) {
EXPECT_EQ(parseExpr("36/(8-6)3")->toString(), "36/(8 - 6) 3");
EXPECT_EQ(parseExpr("2%")->toString(), "2/100");
EXPECT_EQ(parseExpr("2.35%")->toString(), "(47/20)/100");
EXPECT_EQ(parseExpr("1100*4.76%")->toString(), "1100 (119/25)/100");
EXPECT_EQ(parseExpr("2.35%%%%")->toString(), "((((47/20)/100)/100)/100)/100");
EXPECT_EQ(parseExpr("1100*4.76%1100*4.76%")->toString(), "1100 (119/25)/100*1100 (119/25)/100");
EXPECT_EQ(parseExpr("((((((5)/(8)))/(1)))/(((((((9)/(4)))/(0)))/(5))))")->toString(), "((5/8)/1)/(((9/4)/0)/5)");
EXPECT_EQ(parseExpr("2%a")->toString(), "2/100 a");
EXPECT_EQ(parseExpr("2!!!!a!!!")->toString(), "2!!!! a!!!");
EXPECT_EQ(parseExpr("sin a")->toString(), "sin(a)");
EXPECT_EQ(parseExpr("s i n a")->toString(), "s i n a");
EXPECT_EQ(parseExpr("a(2)")->toString(), "a 2");
EXPECT_EQ(parseExpr("(2)a")->toString(), "2 a");
EXPECT_EQ(parseExpr("Ea")->toString(), "E a");
EXPECT_EQ(parseExpr("aE")->toString(), "a E");
EXPECT_EQ(parseExpr("aEE")->toString(), "a E E");
EXPECT_EQ(parseExpr("EEa")->toString(), "E E a");
EXPECT_EQ(parseExpr("x123")->toString(), "x 123");
EXPECT_EQ(parseExpr("x^y!")->toString(), "(x^y)!");
EXPECT_EQ(parseExpr("lnE")->toString(), "ln(E)");
EXPECT_EQ(parseExpr("lncossinE")->toString(), "ln(cos(sin(E)))");
EXPECT_EQ(parseExpr("ln cos sin a")->toString(), "ln(cos(sin(a)))");
EXPECT_EQ(parseExpr("log((Pi),(E)^((Pi)))")->toString(), "log(Pi, E^Pi)");
EXPECT_EQ(parseExpr("lb100")->toString(), "log(2, 100)");
EXPECT_EQ(parseExpr("log(4/9, 2/3)")->toString(), "log(4/9, 2/3)");
EXPECT_EQ(parseExpr("60deg")->toString(), "60 Pi/180");
EXPECT_EQ(parseExpr("adeg")->toString(), "a Pi/180");
}

TEST(ExpressionParserTests, parseFintamathNegativeTest) {
EXPECT_THROW(parseFintamath(""), InvalidInputException);
EXPECT_THROW(parseFintamath("1+"), InvalidInputException);
EXPECT_THROW(parseFintamath("1-"), InvalidInputException);
EXPECT_THROW(parseFintamath("1*"), InvalidInputException);
EXPECT_THROW(parseFintamath("1/"), InvalidInputException);
EXPECT_THROW(parseFintamath("*1"), InvalidInputException);
EXPECT_THROW(parseFintamath("/1"), InvalidInputException);
EXPECT_THROW(parseFintamath(" + "), InvalidInputException);
EXPECT_THROW(parseFintamath("(1+2))"), InvalidInputException);
EXPECT_THROW(parseFintamath("5-*3"), InvalidInputException);
EXPECT_THROW(parseFintamath("5 3 +"), InvalidInputException);
EXPECT_THROW(parseFintamath("2.2.2"), InvalidInputException);
EXPECT_THROW(parseFintamath("--"), InvalidInputException);
EXPECT_THROW(parseFintamath("."), InvalidInputException);
EXPECT_THROW(parseFintamath(","), InvalidInputException);
EXPECT_THROW(parseFintamath("/"), InvalidInputException);
EXPECT_THROW(parseFintamath(";"), InvalidInputException);
EXPECT_THROW(parseFintamath("\'"), InvalidInputException);
EXPECT_THROW(parseFintamath("["), InvalidInputException);
EXPECT_THROW(parseFintamath("]"), InvalidInputException);
EXPECT_THROW(parseFintamath("!"), InvalidInputException);
EXPECT_THROW(parseFintamath("@"), InvalidInputException);
EXPECT_THROW(parseFintamath("\""), InvalidInputException);
EXPECT_THROW(parseFintamath("#"), InvalidInputException);
EXPECT_THROW(parseFintamath(""), InvalidInputException);
EXPECT_THROW(parseFintamath("%"), InvalidInputException);
EXPECT_THROW(parseFintamath(":"), InvalidInputException);
EXPECT_THROW(parseFintamath("?"), InvalidInputException);
EXPECT_THROW(parseFintamath("*"), InvalidInputException);
EXPECT_THROW(parseFintamath("("), InvalidInputException);
EXPECT_THROW(parseFintamath(")"), InvalidInputException);
EXPECT_THROW(parseFintamath("-"), InvalidInputException);
EXPECT_THROW(parseFintamath("+"), InvalidInputException);
EXPECT_THROW(parseFintamath("$"), InvalidInputException);
EXPECT_THROW(parseFintamath("^"), InvalidInputException);
EXPECT_THROW(parseFintamath("&"), InvalidInputException);
EXPECT_THROW(parseFintamath("_"), InvalidInputException);
EXPECT_THROW(parseFintamath("[1+1]"), InvalidInputException);
EXPECT_THROW(parseFintamath("{1}"), InvalidInputException);
EXPECT_THROW(parseFintamath(",2"), InvalidInputException);
EXPECT_THROW(parseFintamath("2,"), InvalidInputException);
TEST(ExpressionParserTests, parseExprNegativeTest) {
EXPECT_THROW(parseExpr(""), InvalidInputException);
EXPECT_THROW(parseExpr("1+"), InvalidInputException);
EXPECT_THROW(parseExpr("1-"), InvalidInputException);
EXPECT_THROW(parseExpr("1*"), InvalidInputException);
EXPECT_THROW(parseExpr("1/"), InvalidInputException);
EXPECT_THROW(parseExpr("*1"), InvalidInputException);
EXPECT_THROW(parseExpr("/1"), InvalidInputException);
EXPECT_THROW(parseExpr(" + "), InvalidInputException);
EXPECT_THROW(parseExpr("(1+2))"), InvalidInputException);
EXPECT_THROW(parseExpr("5-*3"), InvalidInputException);
EXPECT_THROW(parseExpr("5 3 +"), InvalidInputException);
EXPECT_THROW(parseExpr("2.2.2"), InvalidInputException);
EXPECT_THROW(parseExpr("--"), InvalidInputException);
EXPECT_THROW(parseExpr("."), InvalidInputException);
EXPECT_THROW(parseExpr(","), InvalidInputException);
EXPECT_THROW(parseExpr("/"), InvalidInputException);
EXPECT_THROW(parseExpr(";"), InvalidInputException);
EXPECT_THROW(parseExpr("\'"), InvalidInputException);
EXPECT_THROW(parseExpr("["), InvalidInputException);
EXPECT_THROW(parseExpr("]"), InvalidInputException);
EXPECT_THROW(parseExpr("!"), InvalidInputException);
EXPECT_THROW(parseExpr("@"), InvalidInputException);
EXPECT_THROW(parseExpr("\""), InvalidInputException);
EXPECT_THROW(parseExpr("#"), InvalidInputException);
EXPECT_THROW(parseExpr(""), InvalidInputException);
EXPECT_THROW(parseExpr("%"), InvalidInputException);
EXPECT_THROW(parseExpr(":"), InvalidInputException);
EXPECT_THROW(parseExpr("?"), InvalidInputException);
EXPECT_THROW(parseExpr("*"), InvalidInputException);
EXPECT_THROW(parseExpr("("), InvalidInputException);
EXPECT_THROW(parseExpr(")"), InvalidInputException);
EXPECT_THROW(parseExpr("-"), InvalidInputException);
EXPECT_THROW(parseExpr("+"), InvalidInputException);
EXPECT_THROW(parseExpr("$"), InvalidInputException);
EXPECT_THROW(parseExpr("^"), InvalidInputException);
EXPECT_THROW(parseExpr("&"), InvalidInputException);
EXPECT_THROW(parseExpr("_"), InvalidInputException);
EXPECT_THROW(parseExpr("[1+1]"), InvalidInputException);
EXPECT_THROW(parseExpr("{1}"), InvalidInputException);
EXPECT_THROW(parseExpr(",2"), InvalidInputException);
EXPECT_THROW(parseExpr("2,"), InvalidInputException);

EXPECT_THROW(parseFintamath("(1"), InvalidInputException);
EXPECT_THROW(parseFintamath("(((2)"), InvalidInputException);
EXPECT_THROW(parseFintamath("(((2))"), InvalidInputException);
EXPECT_THROW(parseFintamath("((2)))"), InvalidInputException);
EXPECT_THROW(parseFintamath("(2)))"), InvalidInputException);
EXPECT_THROW(parseFintamath("(2"), InvalidInputException);
EXPECT_THROW(parseFintamath("((2)"), InvalidInputException);
EXPECT_THROW(parseFintamath("((2"), InvalidInputException);
EXPECT_THROW(parseFintamath("((((2)((2))))"), InvalidInputException);
EXPECT_THROW(parseFintamath("(()())"), InvalidInputException);
EXPECT_THROW(parseFintamath("((()()))"), InvalidInputException);
EXPECT_THROW(parseFintamath("((((()))))"), InvalidInputException);
EXPECT_THROW(parseFintamath("(,) + (,)"), InvalidInputException);
EXPECT_THROW(parseExpr("(1"), InvalidInputException);
EXPECT_THROW(parseExpr("(((2)"), InvalidInputException);
EXPECT_THROW(parseExpr("(((2))"), InvalidInputException);
EXPECT_THROW(parseExpr("((2)))"), InvalidInputException);
EXPECT_THROW(parseExpr("(2)))"), InvalidInputException);
EXPECT_THROW(parseExpr("(2"), InvalidInputException);
EXPECT_THROW(parseExpr("((2)"), InvalidInputException);
EXPECT_THROW(parseExpr("((2"), InvalidInputException);
EXPECT_THROW(parseExpr("((((2)((2))))"), InvalidInputException);
EXPECT_THROW(parseExpr("(()())"), InvalidInputException);
EXPECT_THROW(parseExpr("((()()))"), InvalidInputException);
EXPECT_THROW(parseExpr("((((()))))"), InvalidInputException);
EXPECT_THROW(parseExpr("(,) + (,)"), InvalidInputException);

EXPECT_THROW(parseFintamath("!2"), InvalidInputException);
EXPECT_THROW(parseFintamath("!!2"), InvalidInputException);
EXPECT_THROW(parseFintamath("!2!!"), InvalidInputException);
EXPECT_THROW(parseFintamath("!(2"), InvalidInputException);
EXPECT_THROW(parseFintamath("!(2)"), InvalidInputException);
EXPECT_THROW(parseFintamath("2)!"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin(2))!"), InvalidInputException);
EXPECT_THROW(parseFintamath("!!!!!!"), InvalidInputException);
EXPECT_THROW(parseExpr("!2"), InvalidInputException);
EXPECT_THROW(parseExpr("!!2"), InvalidInputException);
EXPECT_THROW(parseExpr("!2!!"), InvalidInputException);
EXPECT_THROW(parseExpr("!(2"), InvalidInputException);
EXPECT_THROW(parseExpr("!(2)"), InvalidInputException);
EXPECT_THROW(parseExpr("2)!"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(2))!"), InvalidInputException);
EXPECT_THROW(parseExpr("!!!!!!"), InvalidInputException);

EXPECT_THROW(parseFintamath("esin()"), InvalidInputException);
EXPECT_THROW(parseFintamath("(a+b)*()"), InvalidInputException);
EXPECT_THROW(parseExpr("esin()"), InvalidInputException);
EXPECT_THROW(parseExpr("(a+b)*()"), InvalidInputException);

EXPECT_THROW(parseFintamath("sin(2,3)"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin(2,3) + 2"), InvalidInputException);
EXPECT_THROW(parseFintamath("cos(sin(2,3))"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin(,)"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin(,2)"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin(2,)"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin()"), InvalidInputException);
EXPECT_THROW(parseFintamath("log(1)"), InvalidInputException);
EXPECT_THROW(parseFintamath("log()"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(2,3)"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(2,3) + 2"), InvalidInputException);
EXPECT_THROW(parseExpr("cos(sin(2,3))"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(,)"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(,2)"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(2,)"), InvalidInputException);
EXPECT_THROW(parseExpr("sin()"), InvalidInputException);
EXPECT_THROW(parseExpr("log(1)"), InvalidInputException);
EXPECT_THROW(parseExpr("log()"), InvalidInputException);

EXPECT_THROW(parseFintamath("(1 = 1) / 2"), InvalidInputException);
EXPECT_THROW(parseFintamath("2 + (1 = 2)"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin(1 = 1)"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin(sin(1 = 1))"), InvalidInputException);
EXPECT_THROW(parseFintamath("sin(sin(sin(1 = 1)))"), InvalidInputException);
EXPECT_THROW(parseFintamath("True/True"), InvalidInputException);
EXPECT_THROW(parseFintamath("((1 == 1)) + ((1 == 2))"), InvalidInputException);
EXPECT_THROW(parseFintamath("((1 == 1)) - ((1 == 1))"), InvalidInputException);
EXPECT_THROW(parseFintamath("((1 == 1)) / ((1 == 1))"), InvalidInputException);
EXPECT_THROW(parseFintamath("(5+5)=(2=5)"), InvalidInputException);
EXPECT_THROW(parseFintamath("1+(sin(x)<2)"), InvalidInputException);
EXPECT_THROW(parseFintamath("1/(sin(x)<2)"), InvalidInputException);
EXPECT_THROW(parseFintamath("1+False"), InvalidInputException);
EXPECT_THROW(parseFintamath("False+1"), InvalidInputException);
EXPECT_THROW(parseFintamath("1=False"), InvalidInputException);
EXPECT_THROW(parseFintamath("False=1"), InvalidInputException);
EXPECT_THROW(parseFintamath("1&2"), InvalidInputException);
EXPECT_THROW(parseFintamath("x+1&x+2"), InvalidInputException);
EXPECT_THROW(parseFintamath("x+1&x"), InvalidInputException);
EXPECT_THROW(parseFintamath("x&x+2"), InvalidInputException);
EXPECT_THROW(parseFintamath("(x&y)=(y&z)"), InvalidInputException);
EXPECT_THROW(parseFintamath("derivative(x=y, x)"), InvalidInputException);
EXPECT_THROW(parseFintamath("derivative(x&y,x)"), InvalidInputException);
EXPECT_THROW(parseFintamath("derivative(True,a)"), InvalidInputException);
EXPECT_THROW(parseFintamath("(a+1)_(a>2)"), InvalidInputException);
EXPECT_THROW(parseFintamath("(x+1)_1"), InvalidInputException);
EXPECT_THROW(parseFintamath("(x*2)_1"), InvalidInputException);
EXPECT_THROW(parseFintamath("(x*2)_((x+2)_x)"), InvalidInputException);
EXPECT_THROW(parseFintamath("x^x_1"), InvalidInputException);
EXPECT_THROW(parseFintamath("E&a"), InvalidInputException);
EXPECT_THROW(parseFintamath("~Inf"), InvalidInputException);
EXPECT_THROW(parseFintamath("~Undefined"), InvalidInputException);
EXPECT_THROW(parseFintamath("a | Undefined"), InvalidInputException);
EXPECT_THROW(parseExpr("(1 = 1) / 2"), InvalidInputException);
EXPECT_THROW(parseExpr("2 + (1 = 2)"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(1 = 1)"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(sin(1 = 1))"), InvalidInputException);
EXPECT_THROW(parseExpr("sin(sin(sin(1 = 1)))"), InvalidInputException);
EXPECT_THROW(parseExpr("True/True"), InvalidInputException);
EXPECT_THROW(parseExpr("((1 == 1)) + ((1 == 2))"), InvalidInputException);
EXPECT_THROW(parseExpr("((1 == 1)) - ((1 == 1))"), InvalidInputException);
EXPECT_THROW(parseExpr("((1 == 1)) / ((1 == 1))"), InvalidInputException);
EXPECT_THROW(parseExpr("(5+5)=(2=5)"), InvalidInputException);
EXPECT_THROW(parseExpr("1+(sin(x)<2)"), InvalidInputException);
EXPECT_THROW(parseExpr("1/(sin(x)<2)"), InvalidInputException);
EXPECT_THROW(parseExpr("1+False"), InvalidInputException);
EXPECT_THROW(parseExpr("False+1"), InvalidInputException);
EXPECT_THROW(parseExpr("1=False"), InvalidInputException);
EXPECT_THROW(parseExpr("False=1"), InvalidInputException);
EXPECT_THROW(parseExpr("1&2"), InvalidInputException);
EXPECT_THROW(parseExpr("x+1&x+2"), InvalidInputException);
EXPECT_THROW(parseExpr("x+1&x"), InvalidInputException);
EXPECT_THROW(parseExpr("x&x+2"), InvalidInputException);
EXPECT_THROW(parseExpr("(x&y)=(y&z)"), InvalidInputException);
EXPECT_THROW(parseExpr("derivative(x=y, x)"), InvalidInputException);
EXPECT_THROW(parseExpr("derivative(x&y,x)"), InvalidInputException);
EXPECT_THROW(parseExpr("derivative(True,a)"), InvalidInputException);
EXPECT_THROW(parseExpr("(a+1)_(a>2)"), InvalidInputException);
EXPECT_THROW(parseExpr("(x+1)_1"), InvalidInputException);
EXPECT_THROW(parseExpr("(x*2)_1"), InvalidInputException);
EXPECT_THROW(parseExpr("(x*2)_((x+2)_x)"), InvalidInputException);
EXPECT_THROW(parseExpr("x^x_1"), InvalidInputException);
EXPECT_THROW(parseExpr("E&a"), InvalidInputException);
EXPECT_THROW(parseExpr("~Inf"), InvalidInputException);
EXPECT_THROW(parseExpr("~Undefined"), InvalidInputException);
EXPECT_THROW(parseExpr("a | Undefined"), InvalidInputException);

EXPECT_THROW(parseFintamath("min()"), InvalidInputException);
EXPECT_THROW(parseFintamath("min(True, False)"), InvalidInputException);
EXPECT_THROW(parseFintamath("max()"), InvalidInputException);
EXPECT_THROW(parseFintamath("max(True, False)"), InvalidInputException);
EXPECT_THROW(parseExpr("min()"), InvalidInputException);
EXPECT_THROW(parseExpr("min(True, False)"), InvalidInputException);
EXPECT_THROW(parseExpr("max()"), InvalidInputException);
EXPECT_THROW(parseExpr("max(True, False)"), InvalidInputException);
}
1 change: 1 addition & 0 deletions thirdparty/fmt
Submodule fmt added at 8e42ee

0 comments on commit 0d46686

Please sign in to comment.