diff options
author | 2020-07-10 18:42:52 +0200 | |
---|---|---|
committer | 2020-07-10 20:04:15 +0200 | |
commit | d3422e1c944e4f17ee19af61efc465933293cfab (patch) | |
tree | 85ad31658c4c4426ffc51e1786673bde42a94a7b /src/lib/netlist/tests/test_pfunction.cpp | |
parent | 4a3bc13554799b4cb3bdb6b2b6e8e61266c28e14 (diff) |
netlist: unit test macros now have a "P" prefix.
* will allow to use both googletest and Catch frameworks.
* on unexpected std::exception include what() in error message.
Diffstat (limited to 'src/lib/netlist/tests/test_pfunction.cpp')
-rw-r--r-- | src/lib/netlist/tests/test_pfunction.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/lib/netlist/tests/test_pfunction.cpp b/src/lib/netlist/tests/test_pfunction.cpp index c82617659ec..cb0cad8e188 100644 --- a/src/lib/netlist/tests/test_pfunction.cpp +++ b/src/lib/netlist/tests/test_pfunction.cpp @@ -10,11 +10,12 @@ #include "plib/ptests.h" #include "plib/pfunction.h" +#include "plib/pexception.h" #define PFUNCEXPECT(formula, val) \ - EXPECT_EQ(val, plib::pfunction<double>(formula)()) + PEXPECT_EQ(val, plib::pfunction<double>(formula)()) -TEST(pfunction, operators) +PTEST(pfunction, operators) { PFUNCEXPECT("1==1", 1.0); PFUNCEXPECT("1 *0 == 2-1-1", 1.0); @@ -25,30 +26,30 @@ TEST(pfunction, operators) PFUNCEXPECT("1>=0", 1.0); PFUNCEXPECT("1<=1", 1.0); PFUNCEXPECT("1>=1", 1.0); - EXPECT_EQ(1.0, plib::pfunction<double>("0!=a", {"a"})({1.0})); + PEXPECT_EQ(1.0, plib::pfunction<double>("0!=a", {"a"})({1.0})); } -TEST(pfunction, func_if) +PTEST(pfunction, func_if) { PFUNCEXPECT("if(1>0, 2, 0)", 2.0); PFUNCEXPECT("if(0>1, 2, 3)", 3.0); PFUNCEXPECT("if(sin(1)>0, 2, 3)", 3.0); // fail - EXPECT_EQ( 1.0, plib::pfunction<double>("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({1.0,-1.0,3.0})); - EXPECT_EQ(-0.065, plib::pfunction<double>("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({1.0,1.0,1.0})); - EXPECT_EQ( 0.065, plib::pfunction<double>("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({3.0,1.0,1.0})); - //EXPECT(plib::pfunction<double>("if(A2>2.5, A1, if(A0>2.5,1,(0-1)))", {"A0","A1","A2"})({1.0,1.0,1.0}), -1.0) - //PFUNCEXPECT("-1>-2", 1.0) - EXPECT_TRUE(1.0 == plib::pfunction<double>("0!=a", {"a"})({1.0})); + PEXPECT_EQ( 1.0, plib::pfunction<double>("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({1.0,-1.0,3.0})); + PEXPECT_EQ(-0.065, plib::pfunction<double>("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({1.0,1.0,1.0})); + PEXPECT_EQ( 0.065, plib::pfunction<double>("if(A2>2.5, 0-A1, (0.07-(0.005*A1))*if(A0>2.5,1,0-1))", {"A0","A1","A2"})({3.0,1.0,1.0})); + PEXPECT_TRUE(1.0 == plib::pfunction<double>("0!=a", {"a"})({1.0})); } -TEST(pfunction, unary_minus) +PTEST(pfunction, unary_minus) { PFUNCEXPECT("-1>-2", 1.0); PFUNCEXPECT("(-3)*(-4)", 12.0); PFUNCEXPECT("(-3)*-4", 12.0); PFUNCEXPECT("-3*-4", 12.0); - EXPECT_EQ( -3.0, plib::pfunction<double>("-A0", {"A0"})({3.0})); + PEXPECT_EQ( -3.0, plib::pfunction<double>("-A0", {"A0"})({3.0})); PFUNCEXPECT("3*-trunc(3.2)", -9.0); PFUNCEXPECT("3*-(3*2)", -18.0); PFUNCEXPECT("3*-(2*1)^2", -12.0); + PEXPECT_THROW(plib::pfunction<double>("(3, 4)")(), plib::pexception); + PEXPECT_THROW(plib::pfunction<double>("(3)")(), plib::pexception); // fail } |