1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/* 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2011 Google Inc. 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file. 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */ 7e4fafb146e85cdfcf9d5418597b6818aa0754adatfarina@chromium.org 86a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com#include "SkSize.h" 98f6884aab8aecd7657cf3f9cdbc682f0deca29c5tfarina@chromium.org#include "Test.h" 106a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com 116a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.comstatic void TestISize(skiatest::Reporter* reporter) { 126a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com SkISize a, b; 13d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 146a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.set(0, 0); 156a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a.isEmpty()); 166a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.set(5, -5); 176a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a.isEmpty()); 186a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.clampNegToZero(); 196a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a.isEmpty()); 206a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com b.set(5, 0); 216a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a == b); 22d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 236a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.set(3, 5); 246a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, !a.isEmpty()); 256a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com b = a; 266a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, !b.isEmpty()); 276a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a == b); 286a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, !(a != b)); 296a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, 306a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.fWidth == b.fWidth && a.fHeight == b.fHeight); 316a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com} 326a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com 33e4fafb146e85cdfcf9d5418597b6818aa0754adatfarina@chromium.orgDEF_TEST(Size, reporter) { 346a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com TestISize(reporter); 35d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 366a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com SkSize a, b; 376a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com int ix = 5; 386a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com int iy = 3; 396a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com SkScalar x = SkIntToScalar(ix); 406a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com SkScalar y = SkIntToScalar(iy); 41d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 426a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.set(0, 0); 436a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a.isEmpty()); 446a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.set(x, -x); 456a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a.isEmpty()); 466a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.clampNegToZero(); 476a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a.isEmpty()); 486a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com b.set(x, 0); 496a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a == b); 50d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 516a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.set(y, x); 526a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, !a.isEmpty()); 536a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com b = a; 546a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, !b.isEmpty()); 556a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, a == b); 566a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, !(a != b)); 576a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com REPORTER_ASSERT(reporter, 586a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.fWidth == b.fWidth && a.fHeight == b.fHeight); 59d6176b0dcacb124539e0cfd051e6d93a9782f020rmistry@google.com 606a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com SkISize ia; 616a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com ia.set(ix, iy); 626a5a2667a7cb2a2ccbb8cc19fe1d5e9ee28bb1d3reed@android.com a.set(x, y); 63f59799139bacd300bf5251a1ca4e6b2ad3196457reed@android.com REPORTER_ASSERT(reporter, a.toRound() == ia); 64e4fafb146e85cdfcf9d5418597b6818aa0754adatfarina@chromium.org} 65