Added basic unit tests for PSOP_CEILING and PSOP_FLOOR

Despite having a unit test, many operators of CPDF_PSEngine lack tests.
This CL adds some basic tests for PSOP_CEILING and PSOP_FLOOR.

Bug: pdfium:1164
Change-Id: Id1cf0bb0d05f7812db1b3b762dac5c4dd9838be9
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/54831
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_psengine_unittest.cpp b/core/fpdfapi/page/cpdf_psengine_unittest.cpp
index b853ff5..2af9969 100644
--- a/core/fpdfapi/page/cpdf_psengine_unittest.cpp
+++ b/core/fpdfapi/page/cpdf_psengine_unittest.cpp
@@ -90,3 +90,19 @@
   EXPECT_FLOAT_EQ(5.0f, DoOperator1(&engine, -5, PSOP_NEG));
   EXPECT_FLOAT_EQ(5.0f, DoOperator1(&engine, -5, PSOP_ABS));
 }
+
+TEST(CPDF_PSEngine, Ceiling) {
+  CPDF_PSEngine engine;
+
+  EXPECT_FLOAT_EQ(0.0f, DoOperator1(&engine, -0.9f, PSOP_CEILING));
+  EXPECT_FLOAT_EQ(1.0f, DoOperator1(&engine, 0.0000000001f, PSOP_CEILING));
+  EXPECT_FLOAT_EQ(0.0f, DoOperator1(&engine, 0.0f, PSOP_CEILING));
+}
+
+TEST(CPDF_PSEngine, Floor) {
+  CPDF_PSEngine engine;
+
+  EXPECT_FLOAT_EQ(5.0f, DoOperator1(&engine, 5.9f, PSOP_FLOOR));
+  EXPECT_FLOAT_EQ(-4.0f, DoOperator1(&engine, -4.0000000001f, PSOP_FLOOR));
+  EXPECT_FLOAT_EQ(0.0f, DoOperator1(&engine, 0.0f, PSOP_FLOOR));
+}