| /* | |
| * Copyright 2011 Google Inc. | |
| * | |
| * Use of this source code is governed by a BSD-style license that can be | |
| * found in the LICENSE file. | |
| */ | |
| #include "include/core/SkScalar.h" | |
| #include "include/core/SkSize.h" | |
| #include "tests/Test.h" | |
| DEF_TEST(ISize, reporter) { | |
| SkISize a, b; | |
| a.set(0, 0); | |
| REPORTER_ASSERT(reporter, a.isEmpty()); | |
| a.set(5, -5); | |
| REPORTER_ASSERT(reporter, a.isEmpty()); | |
| a = SkISize{5, 0}; | |
| REPORTER_ASSERT(reporter, a.isEmpty()); | |
| b.set(5, 0); | |
| REPORTER_ASSERT(reporter, a == b); | |
| a.set(3, 5); | |
| REPORTER_ASSERT(reporter, !a.isEmpty()); | |
| b = a; | |
| REPORTER_ASSERT(reporter, !b.isEmpty()); | |
| REPORTER_ASSERT(reporter, a == b); | |
| REPORTER_ASSERT(reporter, !(a != b)); | |
| REPORTER_ASSERT(reporter, | |
| a.fWidth == b.fWidth && a.fHeight == b.fHeight); | |
| } | |
| DEF_TEST(Size, reporter) { | |
| SkSize a, b; | |
| int ix = 5; | |
| int iy = 3; | |
| SkScalar x = SkIntToScalar(ix); | |
| SkScalar y = SkIntToScalar(iy); | |
| a.set(0, 0); | |
| REPORTER_ASSERT(reporter, a.isEmpty()); | |
| a.set(x, -x); | |
| REPORTER_ASSERT(reporter, a.isEmpty()); | |
| a = SkSize{x, 0}; | |
| REPORTER_ASSERT(reporter, a.isEmpty()); | |
| b.set(x, 0); | |
| REPORTER_ASSERT(reporter, a == b); | |
| a.set(y, x); | |
| REPORTER_ASSERT(reporter, !a.isEmpty()); | |
| b = a; | |
| REPORTER_ASSERT(reporter, !b.isEmpty()); | |
| REPORTER_ASSERT(reporter, a == b); | |
| REPORTER_ASSERT(reporter, !(a != b)); | |
| REPORTER_ASSERT(reporter, | |
| a.fWidth == b.fWidth && a.fHeight == b.fHeight); | |
| SkISize ia; | |
| ia.set(ix, iy); | |
| a.set(x, y); | |
| REPORTER_ASSERT(reporter, a.toRound() == ia); | |
| } |