diff options
author | bubnikv <bubnikv@gmail.com> | 2020-01-21 19:11:41 +0300 |
---|---|---|
committer | bubnikv <bubnikv@gmail.com> | 2020-01-21 19:12:06 +0300 |
commit | 094cef26d463e5041c6106eead859abec34ea719 (patch) | |
tree | 166d8e7f3d4515bff3fb4ba904aaddf98b344dc7 /tests | |
parent | d8b5f2950d1a02c7d577ca4459745d42d7c138c2 (diff) |
Fix of the new PlaceholderParser int() conversion.
Fixes https://github.com/prusa3d/PrusaSlicer/pull/3271
Also some old errors (typos, UBs) were fixed.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/libslic3r/test_placeholder_parser.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tests/libslic3r/test_placeholder_parser.cpp b/tests/libslic3r/test_placeholder_parser.cpp index 5802862b7..4d8217c16 100644 --- a/tests/libslic3r/test_placeholder_parser.cpp +++ b/tests/libslic3r/test_placeholder_parser.cpp @@ -28,8 +28,8 @@ SCENARIO("Placeholder parser scripting", "[PlaceholderParser]") { SECTION("math: 2*3/6") { REQUIRE(parser.process("{2*3/6}") == "1"); } SECTION("math: 2*3/12") { REQUIRE(parser.process("{2*3/12}") == "0"); } SECTION("math: 2.*3/12") { REQUIRE(std::stod(parser.process("{2.*3/12}")) == Approx(0.5)); } -// SECTION("math: 10 % 2.5") { REQUIRE(parser.process("{10%2.5}") == "0"); } -// SECTION("math: 11 / 2.5") { REQUIRE(parser.process("{11/2.5-1}") == "1"); } + SECTION("math: 10 % 2.5") { REQUIRE(std::stod(parser.process("{10%2.5}")) == Approx(0.)); } + SECTION("math: 11 % 2.5") { REQUIRE(std::stod(parser.process("{11%2.5}")) == Approx(1.)); } SECTION("math: 2*(3-12)") { REQUIRE(parser.process("{2*(3-12)}") == "-18"); } SECTION("math: 2*foo*(3-12)") { REQUIRE(parser.process("{2*foo*(3-12)}") == "0"); } SECTION("math: 2*bar*(3-12)") { REQUIRE(parser.process("{2*bar*(3-12)}") == "-36"); } @@ -38,7 +38,8 @@ SCENARIO("Placeholder parser scripting", "[PlaceholderParser]") { SECTION("math: max(12, 14)") { REQUIRE(parser.process("{max(12, 14)}") == "14"); } SECTION("math: min(13.4, -1238.1)") { REQUIRE(std::stod(parser.process("{min(13.4, -1238.1)}")) == Approx(-1238.1)); } SECTION("math: max(13.4, -1238.1)") { REQUIRE(std::stod(parser.process("{max(13.4, -1238.1)}")) == Approx(13.4)); } -// SECTION("math: int(13.4)") { REQUIRE(parser.process("{int(13.4)}") == "13"); } + SECTION("math: int(13.4)") { REQUIRE(parser.process("{int(13.4)}") == "13"); } + SECTION("math: int(-13.4)") { REQUIRE(parser.process("{int(-13.4)}") == "-13"); } // Test the boolean expression parser. auto boolean_expression = [&parser](const std::string& templ) { return parser.evaluate_boolean_expression(templ, parser.config()); }; |