|  | 
 | /* | 
 |  * 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 "Test.h" | 
 | #include "SkSize.h" | 
 |  | 
 | static void TestISize(skiatest::Reporter* reporter) { | 
 |     SkISize  a, b; | 
 |  | 
 |     a.set(0, 0); | 
 |     REPORTER_ASSERT(reporter, a.isEmpty()); | 
 |     a.set(5, -5); | 
 |     REPORTER_ASSERT(reporter, a.isEmpty()); | 
 |     a.clampNegToZero(); | 
 |     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); | 
 | } | 
 |  | 
 | static void TestSize(skiatest::Reporter* reporter) { | 
 |     TestISize(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.clampNegToZero(); | 
 |     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); | 
 | }; | 
 |  | 
 | #include "TestClassDef.h" | 
 | DEFINE_TESTCLASS("Size", TestSizeClass, TestSize) |