|  | /* | 
|  | * 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); | 
|  | } |