summaryrefslogtreecommitdiffstats
path: root/gfx/2d/unittest/TestPoint.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gfx/2d/unittest/TestPoint.cpp')
-rw-r--r--gfx/2d/unittest/TestPoint.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/gfx/2d/unittest/TestPoint.cpp b/gfx/2d/unittest/TestPoint.cpp
new file mode 100644
index 0000000000..e79ff01ab3
--- /dev/null
+++ b/gfx/2d/unittest/TestPoint.cpp
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "TestPoint.h"
+
+#include "Point.h"
+
+using namespace mozilla::gfx;
+
+TestPoint::TestPoint() {
+ REGISTER_TEST(TestPoint, Addition);
+ REGISTER_TEST(TestPoint, Subtraction);
+ REGISTER_TEST(TestPoint, RoundToMultiple);
+}
+
+void TestPoint::Addition() {
+ Point a, b;
+ a.x = 2;
+ a.y = 2;
+ b.x = 5;
+ b.y = -5;
+
+ a += b;
+
+ VERIFY(a.x == 7.f);
+ VERIFY(a.y == -3.f);
+}
+
+void TestPoint::Subtraction() {
+ Point a, b;
+ a.x = 2;
+ a.y = 2;
+ b.x = 5;
+ b.y = -5;
+
+ a -= b;
+
+ VERIFY(a.x == -3.f);
+ VERIFY(a.y == 7.f);
+}
+
+void TestPoint::RoundToMultiple() {
+ const int32_t roundTo = 2;
+
+ IntPoint p(478, -394);
+ VERIFY(p.RoundedToMultiple(roundTo) == p);
+
+ IntPoint p2(478, 393);
+ VERIFY(p2.RoundedToMultiple(roundTo) != p2);
+}