1ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch// found in the LICENSE file. 4ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 5ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "base/basictypes.h" 6ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch#include "testing/gtest/include/gtest/gtest.h" 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "ui/gfx/geometry/box_f.h" 8ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 9ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdochnamespace gfx { 10ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 11ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochTEST(BoxTest, Constructors) { 12ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 0.f).ToString(), 13ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF().ToString()); 14ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(0.f, 0.f, 0.f, -3.f, -5.f, -7.f).ToString(), 15ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF().ToString()); 16ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 17ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 3.f, 5.f, 7.f).ToString(), 18ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF(3.f, 5.f, 7.f).ToString()); 19ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 0.f).ToString(), 20ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF(-3.f, -5.f, -7.f).ToString()); 21ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 22ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(2.f, 4.f, 6.f, 3.f, 5.f, 7.f).ToString(), 23ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF(Point3F(2.f, 4.f, 6.f), 3.f, 5.f, 7.f).ToString()); 24ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(2.f, 4.f, 6.f, 0.f, 0.f, 0.f).ToString(), 25ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF(Point3F(2.f, 4.f, 6.f), -3.f, -5.f, -7.f).ToString()); 26ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 27ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 28ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochTEST(BoxTest, IsEmpty) { 29ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 0.f).IsEmpty()); 30ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(1.f, 2.f, 3.f, 0.f, 0.f, 0.f).IsEmpty()); 31ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 32ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(0.f, 0.f, 0.f, 2.f, 0.f, 0.f).IsEmpty()); 33ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(1.f, 2.f, 3.f, 2.f, 0.f, 0.f).IsEmpty()); 34ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(0.f, 0.f, 0.f, 0.f, 2.f, 0.f).IsEmpty()); 35ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(1.f, 2.f, 3.f, 0.f, 2.f, 0.f).IsEmpty()); 36ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 2.f).IsEmpty()); 37ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(1.f, 2.f, 3.f, 0.f, 0.f, 2.f).IsEmpty()); 38ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 39ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(0.f, 0.f, 0.f, 0.f, 2.f, 2.f).IsEmpty()); 40ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(1.f, 2.f, 3.f, 0.f, 2.f, 2.f).IsEmpty()); 41ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(0.f, 0.f, 0.f, 2.f, 0.f, 2.f).IsEmpty()); 42ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(1.f, 2.f, 3.f, 2.f, 0.f, 2.f).IsEmpty()); 43ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(0.f, 0.f, 0.f, 2.f, 2.f, 0.f).IsEmpty()); 44ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(1.f, 2.f, 3.f, 2.f, 2.f, 0.f).IsEmpty()); 45ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 46ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(0.f, 0.f, 0.f, 2.f, 2.f, 2.f).IsEmpty()); 47ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(1.f, 2.f, 3.f, 2.f, 2.f, 2.f).IsEmpty()); 48ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 49ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 50ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochTEST(BoxTest, Union) { 51ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF empty_box; 52ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF box1(0.f, 0.f, 0.f, 1.f, 1.f, 1.f); 53ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF box2(0.f, 0.f, 0.f, 4.f, 6.f, 8.f); 54ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF box3(3.f, 4.f, 5.f, 6.f, 4.f, 0.f); 55ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 56ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(empty_box.ToString(), UnionBoxes(empty_box, empty_box).ToString()); 57ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box1.ToString(), UnionBoxes(empty_box, box1).ToString()); 58ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box1.ToString(), UnionBoxes(box1, empty_box).ToString()); 59ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box2.ToString(), UnionBoxes(empty_box, box2).ToString()); 60ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box2.ToString(), UnionBoxes(box2, empty_box).ToString()); 61ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box3.ToString(), UnionBoxes(empty_box, box3).ToString()); 62ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box3.ToString(), UnionBoxes(box3, empty_box).ToString()); 63ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 64ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // box_1 is contained in box_2 65ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box2.ToString(), UnionBoxes(box1, box2).ToString()); 66ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box2.ToString(), UnionBoxes(box2, box1).ToString()); 67ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 68ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // box_1 and box_3 are disjoint 69ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 9.f, 8.f, 5.f).ToString(), 70ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch UnionBoxes(box1, box3).ToString()); 71ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 9.f, 8.f, 5.f).ToString(), 72ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch UnionBoxes(box3, box1).ToString()); 73ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 74ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch // box_2 and box_3 intersect, but neither contains the other 75ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 9.f, 8.f, 8.f).ToString(), 76ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch UnionBoxes(box2, box3).ToString()); 77ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(0.f, 0.f, 0.f, 9.f, 8.f, 8.f).ToString(), 78ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch UnionBoxes(box3, box2).ToString()); 79ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 80ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 814e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)TEST(BoxTest, ExpandTo) { 824e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF box1; 834e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF box2(0.f, 0.f, 0.f, 1.f, 1.f, 1.f); 844e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF box3(1.f, 1.f, 1.f, 0.f, 0.f, 0.f); 854e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 864e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) Point3F point1(0.5f, 0.5f, 0.5f); 874e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) Point3F point2(-0.5f, -0.5f, -0.5f); 884e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 894e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF expected1_1(0.f, 0.f, 0.f, 0.5f, 0.5f, 0.5f); 904e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF expected1_2(-0.5f, -0.5f, -0.5f, 1.f, 1.f, 1.f); 914e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 924e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF expected2_1 = box2; 934e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF expected2_2(-0.5f, -0.5f, -0.5f, 1.5f, 1.5f, 1.5f); 944e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 954e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF expected3_1(0.5f, 0.5f, 0.5f, 0.5f, 0.5f, 0.5f); 964e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) BoxF expected3_2(-0.5f, -0.5f, -0.5f, 1.5f, 1.5f, 1.5f); 974e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 984e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) box1.ExpandTo(point1); 994e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_EQ(expected1_1.ToString(), box1.ToString()); 1004e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) box1.ExpandTo(point2); 1014e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_EQ(expected1_2.ToString(), box1.ToString()); 1024e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 1034e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) box2.ExpandTo(point1); 1044e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_EQ(expected2_1.ToString(), box2.ToString()); 1054e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) box2.ExpandTo(point2); 1064e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_EQ(expected2_2.ToString(), box2.ToString()); 1074e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 1084e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) box3.ExpandTo(point1); 1094e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_EQ(expected3_1.ToString(), box3.ToString()); 1104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) box3.ExpandTo(point2); 1114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) EXPECT_EQ(expected3_2.ToString(), box3.ToString()); 1124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)} 1134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) 114ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochTEST(BoxTest, Scale) { 115ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF box1(2.f, 3.f, 4.f, 5.f, 6.f, 7.f); 116ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 117ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF().ToString(), ScaleBox(box1, 0.f).ToString()); 118ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box1.ToString(), ScaleBox(box1, 1.f).ToString()); 119ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(4.f, 12.f, 24.f, 10.f, 24.f, 42.f).ToString(), 120ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch ScaleBox(box1, 2.f, 4.f, 6.f).ToString()); 121ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 122ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF box2 = box1; 123ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch box2.Scale(0.f); 124ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF().ToString(), box2.ToString()); 125ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 126ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch box2 = box1; 127ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch box2.Scale(1.f); 128ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box1.ToString(), box2.ToString()); 129ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 130ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch box2.Scale(2.f, 4.f, 6.f); 131ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(4.f, 12.f, 24.f, 10.f, 24.f, 42.f).ToString(), 132ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch box2.ToString()); 133ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 134ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 135ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochTEST(BoxTest, Equals) { 136ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF() == BoxF()); 137ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF(2.f, 3.f, 4.f, 6.f, 8.f, 10.f) == 138ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF(2.f, 3.f, 4.f, 6.f, 8.f, 10.f)); 139ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF() == BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 1.f)); 140ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF() == BoxF(0.f, 0.f, 0.f, 0.f, 1.f, 0.f)); 141ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF() == BoxF(0.f, 0.f, 0.f, 1.f, 0.f, 0.f)); 142ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF() == BoxF(0.f, 0.f, 1.f, 0.f, 0.f, 0.f)); 143ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF() == BoxF(0.f, 1.f, 0.f, 0.f, 0.f, 0.f)); 144ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF() == BoxF(1.f, 0.f, 0.f, 0.f, 0.f, 0.f)); 145ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 146ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 147ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochTEST(BoxTest, NotEquals) { 148ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF() != BoxF()); 149ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_FALSE(BoxF(2.f, 3.f, 4.f, 6.f, 8.f, 10.f) != 150ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF(2.f, 3.f, 4.f, 6.f, 8.f, 10.f)); 151ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF() != BoxF(0.f, 0.f, 0.f, 0.f, 0.f, 1.f)); 152ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF() != BoxF(0.f, 0.f, 0.f, 0.f, 1.f, 0.f)); 153ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF() != BoxF(0.f, 0.f, 0.f, 1.f, 0.f, 0.f)); 154ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF() != BoxF(0.f, 0.f, 1.f, 0.f, 0.f, 0.f)); 155ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF() != BoxF(0.f, 1.f, 0.f, 0.f, 0.f, 0.f)); 156ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_TRUE(BoxF() != BoxF(1.f, 0.f, 0.f, 0.f, 0.f, 0.f)); 157ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 158ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 159ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 160ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben MurdochTEST(BoxTest, Offset) { 161ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF box1(2.f, 3.f, 4.f, 5.f, 6.f, 7.f); 162ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 163ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box1.ToString(), (box1 + Vector3dF(0.f, 0.f, 0.f)).ToString()); 164ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(3.f, 1.f, 0.f, 5.f, 6.f, 7.f).ToString(), 165ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch (box1 + Vector3dF(1.f, -2.f, -4.f)).ToString()); 166ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 167ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch BoxF box2 = box1; 168ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch box2 += Vector3dF(0.f, 0.f, 0.f); 169ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(box1.ToString(), box2.ToString()); 170ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 171ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch box2 += Vector3dF(1.f, -2.f, -4.f); 172ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch EXPECT_EQ(BoxF(3.f, 1.f, 0.f, 5.f, 6.f, 7.f).ToString(), 173ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch box2.ToString()); 174ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} 175ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch 176ba5b9a6411cb1792fd21f0a078d7a25cd1ceec16Ben Murdoch} // namespace gfx 177