blob: aac595f98922bf04bb1f5567f49c1902dceb8088 [file] [log] [blame]
 // Copyright 2019 The Fuchsia Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "src/lib/ui/base_view/math.h" #include #include namespace scenic { using fuchsia::ui::gfx::vec2; // TEST(MathTest, Vec2Length) { EXPECT_EQ(scenic::Length({3, 4}), 5); } // TEST(MathTest, Vec2Distance2) { EXPECT_EQ(scenic::Distance2({-1, -2}, {3, 4}), 52); } TEST(MathTest, Vec2Sub) { EXPECT_TRUE(fidl::Equals(vec2({86, 75}) - vec2({30, -9}), vec2({56, 84}))); } TEST(MathTest, Vec2AddAssign) { vec2 v{4, 2}; // For assignment operators, also make sure the return is a self-ref. (v += {-5, 4}).x += .1f; EXPECT_TRUE(fidl::Equals(v, vec2({-.9f, 6}))); } TEST(MathTest, Vec2ScalarMul) { EXPECT_TRUE(fidl::Equals(vec2({-3, .5f}) * 3, vec2({-9, 1.5f}))); } TEST(MathTest, Vec2ScalarDivAssign) { vec2 v{5, -1}; (v /= 2).x += .1f; EXPECT_TRUE(fidl::Equals(v, vec2({2.6f, -.5f}))); } TEST(MathTest, Vec2ScalarDiv) { EXPECT_TRUE(fidl::Equals(vec2({-3, .5f}) / 2, vec2({-1.5f, .25f}))); } } // namespace scenic